SEQUENCERS
Documentation for eth_defi.chain.SEQUENCERS data.
- SEQUENCERS: dict[int, dict[str, str]] = {10: {'public_rpc': 'https://mainnet.optimism.io', 'sequencer': 'https://mainnet-sequencer.optimism.io'}, 8453: {'public_rpc': 'https://mainnet.base.org', 'sequencer': 'https://mainnet-sequencer.base.org'}, 42161: {'public_rpc': 'https://arb1.arbitrum.io/rpc', 'sequencer': 'https://arb1-sequencer.arbitrum.io/rpc'}, 84532: {'public_rpc': 'https://sepolia.base.org', 'sequencer': 'https://sepolia-sequencer.base.org'}, 421614: {'public_rpc': 'https://sepolia-rollup.arbitrum.io/rpc', 'sequencer': 'https://sepolia-rollup-sequencer.arbitrum.io/rpc'}, 11155420: {'public_rpc': 'https://sepolia.optimism.io', 'sequencer': 'https://sepolia-sequencer.optimism.io'}}
L2 sequencer and official public RPC endpoints.
Many L2 chains have a centralised sequencer that processes transactions. Broadcasting directly to the sequencer (or the chain’s official single-endpoint public RPC) avoids issues with load-balanced RPCs like drpc.live where different backend nodes may return inconsistent state.
Each entry maps a chain ID to a dict with:
sequencer: write-only endpoint foreth_sendRawTransaction. Arbitrum sequencers only supporteth_sendRawTransaction(no reads: noeth_chainId,eth_getTransactionReceipt, etc.). OP Stack sequencers (Base, Optimism) run a fullop-gethbut may return 403 on read calls under load. Use with themev+prefix increate_multi_provider_web3().public_rpc: official single-endpoint RPC that supports both reads and writes. Suitable forforge createwhich needseth_chainId,eth_gasPrice,eth_getTransactionReceiptetc. These avoid the receipt-polling issue on load-balanced providers (seeforge.pydocstring on foundry#1362).
Sources: