Skip to content
BaseHub by wbnns Updated

Block Building

Base block ordering is independent of the user-facing experience: the sequencer can build sub-block updates without exposing them, and the underlying ordering rules continue to apply.

NetworkActive configurationUpcoming
Base MainnetFlashblocks and per-transaction gas maximum
Base SepoliaFlashblocks and per-transaction gas maximum

The configuration changelog records every change to block building parameters and other network-level settings.

Blocks are produced by base-builder, with a fresh priority fee auction running every 200ms. The auction shortens effective block times from 2 seconds to 200 milliseconds via preconfirmations.

Three properties distinguish Flashblocks from vanilla ordering:

  1. Timing — The builder emits one Flashblock every 200ms, sealing a slice of the eventual block. Once a Flashblock is broadcast, its ordering is final; later transactions with higher priority fees cannot displace transactions already committed to an earlier Flashblock.

  2. Gas allocation — Each Flashblock has a progressively larger gas budget. Flashblock 1 may consume up to one tenth of the block gas limit, Flashblock 2 up to two tenths, and so on through Flashblock 10, which may use the full limit.

    FlashblockAvailable gas
    1~14M gas (1/10)
    2~28M gas (2/10)
    3~42M gas (3/10)
    10~140M gas (full)
  3. Dynamic mempool — The builder keeps accepting new transactions while a Flashblock is being assembled. This minimizes inclusion latency, but transactions are ordered by fee at the moment of selection, not against every transaction that arrived during the 200ms window. A high-fee transaction that arrives late may appear after a lower-fee transaction that was already committed.

Since the Azul hardfork, Base applies a protocol-level ceiling of 16,777,216 gas (2^24) to any single transaction, as specified by EIP-7825. A transaction that declares a gas limit above this figure is rejected during block validation, and eth_sendTransaction or eth_sendRawTransaction returns a JSON-RPC error — for instance, exceeds maximum per-transaction gas limit.

Operators running bundlers for smart contract wallets need to size each bundle so that it stays within this limit.

Under the legacy configuration, op-geth builds a block every 2 seconds and orders transactions inside the block by priority fee. See the reference implementation.