For a comprehensive introduction to how Flashblocks work, see the Flashblocks Overview.
Block Building
Are Flashblocks optional?
All Base blocks are built by the Flashblocks builder, meaning Flashblocks are always live. However, apps may choose not to rely on preconfirmations and can continue using standard RPCs without any Flashblocks integration.Is there any difference in transaction inclusion for Flashblocks vs. 2-second blocks?
No significant differences—both order transactions by fee. The main difference is timing: Flashblocks occur every 200ms instead of every 2 seconds. See Block Building for details.Can the sequencer stop publishing Flashblocks?
The sequencer will not stop publishing Flashblocks unless an extreme circumstance makes running them unsafe. If this happens, preconfirmations are disabled network-wide and confirmations fall back to standard 2-second blocks. The sequencer continues operating normally.Why is my transaction having trouble getting included?
Transactions with large gas limits (> 14M gas) may have longer inclusion times. This is because the builder allocates gas incrementally—each Flashblockj can only use j/10 of the total block gas limit. Large transactions must wait for later Flashblocks with sufficient capacity.
See Gas Allocation for the full breakdown.
How do I ensure my transaction is in the first Flashblock?
There’s no way to guarantee which Flashblock a transaction lands in, similar to how you can’t guarantee a specific block. To improve chances of quick inclusion:- Set a higher priority fee
- Keep gas limits below 14M (1/10 of block limit) to be eligible for Flashblock 1
How frequently do Flashblock reorgs happen?
Flashblock reorgs on Base Mainnet are effectively zero, with only rare exceptions. Base maintains a reorg rate below 0.01%. Check current metrics at base.org/stats.What does it mean when a Flashblock is reorged?
A reorg means a Flashblock was streamed as a preconfirmation but wasn’t included in the final block. This is rare due to architectural improvements in rollup-boost that prevent tail Flashblock reorgs. Apps should handle this possibility gracefully, but occurrences are minimal.WebSocket
Why are there 11 Flashblocks?
Index 0 contains only system transactions and doesn’t use any gas limit. Indexes 1-10 are the actual Flashblocks that pull pending transactions from the txpool.Why are there sometimes fewer than 10 Flashblocks?
This is expected. When the previous block takes longer to build, the system compensates by allocating less time to the next block, resulting in fewer Flashblocks.What encoding format is the transaction data in?
Transaction data is RLP encoded.Why am I getting rate limited on the WebSocket?
The public WebSocket has a maximum connection limit. For production use, we recommend:- Running your own Flashblocks-aware RPC node
- Using a third-party node provider with Flashblocks support
RPC
Why am I getting rate limited using mainnet-preconf.base.org?
The public endpoint has explicit rate limiting. For production use:- Use a third-party node provider with Flashblocks support (Alchemy, Infura, QuickNode, dRPC)
- Run your own Flashblocks-aware RPC node
What RPC methods support Flashblocks?
The following methods are Flashblocks-enabled:| Method | Usage |
|---|---|
eth_getBlockByNumber | Use pending tag |
eth_getBalance | Use pending tag |
eth_getTransactionReceipt | Returns preconfirmed receipts |
eth_getTransactionByHash | Use pending tag |
eth_getTransactionCount | Use pending tag |
eth_call | Use pending tag |
eth_simulateV1 | Use pending tag |
eth_estimateGas | Use pending tag |
eth_getLogs | Use pending for toBlock |