This repository is a reference implementation of nonce lanes on Sei. It shows how one funded EVM account can submit independent actions without putting every action behind a single sequential nonce queue.
For the full tutorial—including setup, deployment, configuration, testnet usage, benchmarks, and troubleshooting—see the Sei nonce lanes documentation.
Important
This is an engineering demonstration, not a production trading service. It uses a mock venue, development keys, an in-process queue, and local journal files.
- EIP-7702 preserves the EOA's address, balances, and approvals.
- ERC-4337 v0.8 gives that account independent two-dimensional nonce lanes.
- Gas-only relayers submit
EntryPoint.handleOpstransactions without holding the trader's inventory. - A write-ahead journal supports recovery of interrupted or evicted outer transactions.
Operations on different lanes have no ordering relationship, so a stuck operation does not strand operations on other lanes. This provides submission concurrency, not parallel execution of conflicting state changes.
The expected EntryPoint is the canonical v0.8 singleton at
0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108.
src/— EIP-7702 account implementation and mock venuetest/— Foundry tests for lane ordering, isolation, and failure behaviorscript/— deployment scriptapp/src/— TypeScript submission, bundling, relaying, and recovery logicapp/bench/— nonce-lane and sequential-nonce benchmarks.env.example— runtime configuration reference
Dependencies under lib/ are pinned Git submodules. Clone the repository with
--recurse-submodules, or initialize them in an existing clone:
git submodule update --init --recursiveThe project requires Foundry and Node.js 22 or newer.
cd app
npm ci
npm run check
cd ..
forge fmt --check
forge test -vvUse throwaway accounts and never commit private keys, mnemonics, .env files,
signed transactions, or app/.state/. See SECURITY.md for
vulnerability reporting.