Get started with a reliable Optimism RPC endpoint to use Flashblocks. Flashblocks is a block builder sidecar for OP Stack chains. The sidecar is called Rollup-Boost, designed and built by Flashbots and co-designed with Uniswap Labs and OP Labs. As Optimism Mainnet is the canonical OP Stack chain, the Optimism team has implemented Flashblocks on Optimism. Flashblocks went live on the Optimism Mainnet sequencer in 2026. The Flashblocks implementation on Optimism is two-part:Documentation Index
Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
Use this file to discover all available pages before exploring further.
- Sequencer side — the Rollup-Boost sidecar and the
op-rbuilderReth-based builder run next to the OP Stack sequencer. - Node side — the Flashblocks module is implemented on the Reth-based execution client running on Chainstack.
- The Optimism sequencer creates regular 2-second blocks and additionally creates sub-blocks called Flashblocks every 250ms.
- The sequencer streams these Flashblocks every 250ms over WebSocket to the Reth nodes that have the Flashblocks module enabled.
-
The sequencer-streamed Flashblocks and the preconfirmation state can then be retrieved by apps over the standard Optimism RPC endpoints and methods with the
pendingblock tag:eth_getBlockByNumberwith thependingtageth_callwith thependingtageth_getBalancewith thependingtageth_getTransactionCountwith thependingtageth_getCodewith thependingtag — per the Optimism Flashblocks specificationeth_getStorageAtwith thependingtag — per the Optimism Flashblocks specificationeth_estimateGaswith thependingtageth_getTransactionReceipt— returns the preconfirmed receipt as soon as the transaction is included in a Flashblocketh_getTransactionByHash— returns the preconfirmed transaction as soon as it is included in a Flashblocketh_sendRawTransactionSync— submit a signed transaction and receive the preconfirmed receipt in the same response
- The transaction ordering is done at the Flashblock level instead of the block level.
Unlike Base, Optimism does not expose Flashblocks as dedicated WebSocket subscriptions like
eth_subscribe newFlashblocks. The customer-facing Flashblocks interface on Optimism is the standard JSON-RPC interface with the pending block tag, as defined in the Optimism Flashblocks specification.Quick Flashblock vs. full block data comparison
Call eth_getBlockByNumber with thepending tag on a Flashblocks-enabled Optimism endpoint while a 2-second canonical block is forming. The response evolves every 250ms as new Flashblocks arrive — the same block number, but the transaction list grows append-only and the block hash changes with each Flashblock.
A quick view of the same canonical block number sampled 500ms apart while the block was being assembled on Chainstack:
- Preconfirmed 250ms Flashblock (early)
- Preconfirmed 250ms Flashblock (later)
- Confirmed regular 2s block
Verify Flashblocks behavior
You can verify Flashblocks behavior on your Optimism endpoint by pollingeth_getBlockByNumber with the pending tag and watching the response evolve within a single block number. Replace YOUR_OPTIMISM_ENDPOINT with your Chainstack Optimism node HTTPS endpoint:
Performance expectations
Flashblocks on Optimism are produced at 250ms intervals, but actual end-to-end latency will be higher due to network travel time:- Standard Optimism endpoint — ~2000ms (2-second block time).
- Flashblocks-enabled Optimism endpoint — ~350-550ms (250ms Flashblock interval + network travel time).
- Network latency to and from the Optimism node.
- Transaction processing time at the sequencer.
- Time until the next Flashblock (up to 250ms).
- Network travel time for the confirmation response.
Optimism vs. Base Flashblocks at a glance
| Aspect | Optimism | Base |
|---|---|---|
| Flashblock interval | 250ms | 200ms |
| Canonical block time | 2s | 2s |
| Flashblocks per block | ~8 | ~10 |
| Customer-facing interface | JSON-RPC with pending tag | JSON-RPC with pending tag and dedicated WebSocket subscriptions |
eth_subscribe newFlashblocks etc. | Not exposed | Exposed |
Additional resources
- Flashblocks on Base — the Base implementation, including dedicated WebSocket subscription methods
- Optimism documentation: Flashblocks overview
- Optimism specification: Flashblocks JSON-RPC APIs
- Flashbots blog: Introducing Rollup-Boost
- Original spec for Rollup-Boost: External Block Production
