Skip to main content
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 Flashblock j 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:
  1. Running your own Flashblocks-aware RPC node
  2. 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:
MethodUsage
eth_getBlockByNumberUse pending tag
eth_getBalanceUse pending tag
eth_getTransactionReceiptReturns preconfirmed receipts
eth_getTransactionByHashUse pending tag
eth_getTransactionCountUse pending tag
eth_callUse pending tag
eth_simulateV1Use pending tag
eth_estimateGasUse pending tag
eth_getLogsUse pending for toBlock
See App Integration for full examples.

Node Setup

How do I set up a Flashblocks-aware RPC node?

Use the Reth binary from the Base node repository. See the Node Providers guide for complete setup instructions.