A regular EOA has a single nonce, so transactions strictly serialize. ERC-7579 smart accounts have a two-dimensional nonce: aDocumentation Index
Fetch the complete documentation index at: https://docs.startale.com/llms.txt
Use this file to discover all available pages before exploring further.
nonceKey (the lane) and a nonce (the position inside that lane). Different lanes are independent, so you can send UserOperations on different lanes in parallel.
Source:
StartaleGroup/scs-aa-sdk.When to use parallel lanes
| Use case | Why a lane helps |
|---|---|
| Independent flows that should not block each other (e.g. claim + swap) | A revert or delay on lane A does not block lane B. |
| Multiple worker processes signing for the same account | Each worker owns a distinct lane, so they can submit concurrently without nonce collisions. |
| High-throughput dapps batching on behalf of many users | One lane per user keeps their UserOperations independent. |
Mental model
Within a lane, UserOperations are still ordered. Across lanes, they are independent.Read a lane nonce
| Symbol | Source | Role |
|---|---|---|
account.getNonce({ key }) | @startale-scs/aa-sdk | Reads the next available nonce for the given lane. key is a bigint; 0n is the default lane. |
Send two UserOperations in parallel
Pass each lane’s nonce when callingsendUserOperation. Do not await the calls back to back; fire them together so the bundler sees both at once.
Pick lane keys deliberately
Thekey is a uint192 packed into the nonce, which leaves plenty of room for application-defined schemes:
| Strategy | Example |
|---|---|
| Stable lane per worker | key = workerId |
| Stable lane per user inside a service account | key = hash(userId) >> 64 |
| One lane per business flow | key = 1n for swaps, key = 2n for claims, etc. |
Caveats
- Lanes are per smart account. Two different smart accounts already have independent nonces; you only need lanes within a single account.
- Lane state lives onchain. Bumping
keydoes not cost gas, but the first UserOp on a brand-new lane still pays whatever gas the EntryPoint charges for storage initialisation. - The paymaster does not care about lanes; sponsored and ERC-20 paymaster flows work the same way on any lane.
Next steps
Contract interactions
Combine batched calls inside a single UserOperation with parallel UserOperations across lanes.
Smart sessions
Run scoped session UserOperations on dedicated lanes.
Sponsored paymaster
Sponsor every UserOperation across all lanes.
EIP-7702
Use lane nonces on a delegated EOA-as-smart-account.