The problem atomic launches solve on Base
On Ethereum, a launch that opens trading and buys from several wallets at once is usually sent as a Flashbots bundle. Base has no bundle market: public Base RPCs and the sequencer endpoint reject eth_sendBundle, and Base's own bundle service (TIPS) was archived in July 2026.
Separate transactions sent to the sequencer can still be split across Flashblocks. To get an all-or-nothing launch on Base, the open and every buy have to live inside a single transaction. EIP-7702 makes that possible without moving funds out of the buying wallets.
EIP-7702 in one paragraph
EIP-7702 adds a type-4 transaction that carries authorizations. Each authorization is signed by an account and points that account at a contract whose code it will run when called. The account stays a normal address with its own key and balance. EIP-7702 is live on Base since the Isthmus upgrade in May 2025.
How one transaction buys from many wallets
In TokenBundle's Atomic mode, the Deployer sends one type-4 transaction to itself. It carries authorizations from the Deployer and every bundle wallet pointing at the LaunchDelegate contract, which is deployed at a deterministic CREATE2 address on first use.
The Deployer's delegated code makes the token calls, whitelist and openTrading, as the Deployer. It then calls each wallet's execute(), which runs that wallet's Uniswap V2 buy (swapExactETHForTokensSupportingFeeOnTransferTokens) with the wallet's own ETH. The tokens land in the wallet that paid for them.
Because it is one transaction, it lands whole or reverts whole. Nothing can land between the open and the buys. The Deployer pays all the gas.
What protects each wallet
Delegating a wallet to a contract only makes sense if that contract cannot be used against the wallet. LaunchDelegate runs a batch only if the wallet's own key signed exactly that batch, as an EIP-191 signature over the chain id, the account, a nonce, a deadline and the calls.
Each signature works once: a nonce kept in namespaced storage increments before the calls run. It must also be used before its deadline. The contract has no owner, no admin and no upgrade path, and the account can still receive ETH while delegated.
Security tests on a Base fork
- No signature: the call reverts.
- A signature from another key: the call reverts.
- Replaying a signature that was already used: the call reverts.
- Reusing a signature for a different batch: the call reverts.
- A signature past its deadline: the call reverts.
Cleaning up after the launch
After the launch every delegation is revoked by signing an authorization to the zero address. The wallets are then plain EOAs again, with no delegated code attached, and can be used normally, including in the Terminal.
Gas limits and trade-offs
Base caps a single transaction at 16,777,216 gas (EIP-7825, since the Azul upgrade). That fits about 80 wallets in one atomic launch: up to 75 of your own plus service wallets. On a Base mainnet fork, an open plus 7 wallet buys used about 1.38M gas.
The main trade-off is visibility. On BaseScan all wallets appear inside one transaction, so they are visibly linked. If you want each buy to look organic, Burst mode with a whitelist is the alternative.
FAQ
- Do my wallets send their ETH to the Deployer? No. Each wallet's buy runs with that wallet's own ETH, and the tokens go to that wallet.
- Can LaunchDelegate move my funds later? It only runs a batch the wallet's own key signed, once and before a deadline, and the delegation is revoked after the launch.
- Who pays gas for an atomic launch? The Deployer pays all the gas for the single type-4 transaction.
- How many wallets fit in one atomic launch? About 80, which is up to 75 of your own wallets plus service wallets, because of the 16,777,216 per-transaction gas cap.
- Is EIP-7702 available on Base? Yes. It has been live on Base since the Isthmus upgrade in May 2025.
Coordinate your launch with TokenBundle.
Prepare wallets, review allocations and manage network-specific launch execution from one workspace.
Open Base workspace