Skip to main content
Flashblocks is a block builder sidecar for OP Stack chains that delivers sub-second transaction confirmations - 250 ms on OP Mainnet, configurable down to 200 ms. By streaming pre-confirmations, “signals” that arrive before the next block is finalized, Flashblocks make OP Stack chains up to 10x faster, unlocking seamless user experiences without compromising security guarantees. Built for developers who need lightning fast UX, flashblocks are ideal for DeFi apps, payments, games, and real-time interactions where instant is the only answer.
  • Payments: Instant payment confirmations
  • DeFi: Swaps and positions that update immediately
  • Marketplaces: Fast, frictionless checkout flows
  • Games: Real-time actions with no waiting between moves
This page explains how Flashblocks work and the components involved. To read pre-confirmed state from your app, follow the app integration guide. To enable Flashblocks on a chain you operate, follow the chain operator guide.

How it works

By default, blocks are produced every 1–2 seconds. Flashblocks break that window into smaller intervals so instead of waiting the full block time to execute all transactions, the execution client continuously creates and broadcasts a “flash” block every few hundred milliseconds. Each flashblock includes all transactions processed so far, along with updated balances and contract states. Apps can query this near-real-time state using RPC providers (Ankr, QuickNode, Alchemy, etc) and deliver the speed their users expect.

Architecture

Flashblocks is coordinated by rollup-boost, a module that sits between the consensus layer and the execution layer and divides block construction into smaller, incremental sections. Pre-confirmations stream out continuously, while finalization still occurs at standard block intervals. Flashblocks relies on several components working together:
  • op-node: Consensus layer, initiates engine_forkchoiceUpdated calls and leads block building.
  • op-reth: Fallback block builder, produces standard blocks.
  • op-rbuilder: Reth-based execution client that builds both standard blocks and flashblocks.
    • Exposes flashblocks on a WebSocket stream (not recommended for public exposure).
    • Each event on the stream corresponds to a 250 ms flashblock.
  • rollup-boost: Sits between op-node and execution layers, coordinating block building in flashblocks mode.
    • Validates op-rbuilder payloads against op-reth
    • Falls back to op-reth if op-rbuilder diverges or lags
  • flashblocks-websocket-proxy: Relays the flashblocks stream from the active sequencer to RPC providers.
  • op-node-rbuilder (optional): op-node pointing only to op-rbuilder, used for syncing at startup.
  • op-conductor (optional but recommended): Manages multiple sequencers, ensuring only one healthy leader streams blocks.
See the System architecture section of the specification to learn more.

Flashblocks lifecycle

  • op-node coordinates block production through rollup-boost, targeting op-rbuilder instead of the fallback op-reth.
  • op-rbuilder acts as a full execution client: it builds blocks, exposes Ethereum JSON-RPC, and processes transactions.
  • In addition, op-rbuilder emits flashblocks every 250 ms, streamed over a WebSocket interface (e.g. wss://).
  • These flashblocks give early visibility into transaction inclusion before the final regular block is sealed.
For full details on design choices, data structures, construction rules, and invariants, see the Flashblocks specification.

Flashblocks FAQ

Block building and availability

High availability and safety

Pre-confirmations and reorgs

Next steps