Flashblocks endpoints expose all standard Ethereum JSON-RPC methods plus a set of pre-confirmation-specific additions. These let you read state, simulate transactions, and stream events against sequencer-ordered data up to ~1.8 seconds before a block seals.Documentation Index
Fetch the complete documentation index at: https://base-a060aa97-mux-base-docs-codex-moly1dzt.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
All standard Ethereum JSON-RPC methods work identically on Flashblocks endpoints. Use the
"pending" block tag to resolve against pre-confirmed state instead of the transaction pool. See the Overview for endpoint URLs and a full explanation of the two tiers.HTTP Methods
| Method | Description |
|---|---|
| eth_simulateV1 | Simulate transaction bundles against pre-confirmed state |
| base_transactionStatus | Check if a transaction has been received by the node mempool |
WebSocket Subscriptions
On a Flashblocks WSS endpoint,eth_subscribe with newHeads emits a new event approximately every 200ms per Flashblock instead of every 2 seconds. Three additional subscription types are also available that are exclusive to Flashblocks endpoints:
| Subscription | Description |
|---|---|
| newFlashblockTransactions | Stream individual transactions as they are pre-confirmed (~200ms each) |
| pendingLogs | Stream filtered event logs from pre-confirmed transactions |
| newFlashblocks | Stream full Flashblock payload objects from the sequencer |
Infrastructure Stream
The raw Flashblocks infrastructure stream is the upstream WebSocket feed consumed by Flashblocks-aware RPC nodes. It emits a new message approximately every 200ms as the sequencer pre-confirms transactions.Azul simplifies the raw Flashblocks WebSocket payload. Account balances and receipts are not populated in the raw stream after Azul. Applications that need preconfirmed transaction or receipt data should use Flashblocks RPC behavior described in the RPC Overview.
| Network | Raw stream URL |
|---|---|
| Mainnet | wss://mainnet.flashblocks.base.org/ws |
| Sepolia | wss://sepolia.flashblocks.base.org/ws |
Flashblock Object
The root structure of each infrastructure stream message.Flashblock fields
Unique identifier for the block being built. Remains consistent across all Flashblocks within a single full block.
Flashblock index within the current block. Starts at 0 (system transactions only). User transactions begin at index 1. Typically reaches 9-10 per block, but can exceed 10 during sequencer timing drift. Do not hardcode a final index; use
payload_id changes or full block confirmation via standard RPC as the signal that the block has advanced.Block header properties. Only present when
index is 0. See Base Object.Incremental block state changes for this Flashblock. Present in every message. See Diff Object.
Supplemental data. Unstable — fields may change without notice. See Metadata Object.
Base Object
Contains full block header properties. Only present in theindex: 0 message (the first Flashblock of each full block).
Base fields
Hash of the parent block.
Address receiving transaction fees (coinbase).
Block number in hex.
Maximum gas allowed in this block (hex).
Unix timestamp of block creation (hex).
EIP-1559 base fee per gas (hex).
Previous RANDAO value used for on-chain randomness.
Arbitrary data field set by the sequencer.
Diff Object
Contains the incremental block state changes for this specific Flashblock. Present in every message.Diff fields
Merkle root of the state trie after applying this Flashblock’s transactions.
Hash of the partial block at this Flashblock index. Changes with each Flashblock as more transactions are pre-confirmed.
Cumulative gas used up to and including this Flashblock (hex).
Cumulative blob gas used (EIP-4844, hex).
Array of RLP-encoded transactions included in this Flashblock.
Validator withdrawals (always empty on Base L2).
Merkle root of transaction receipts.
Bloom filter for logs in this Flashblock.
Merkle root of withdrawals.
Metadata Object
After Azul, the raw infrastructure stream does not populate account balances or transaction receipts inmetadata. Use Flashblocks RPC by-hash lookups, pendingLogs, or newFlashblockTransactions when you need preconfirmed transaction, receipt, or log data.
Metadata fields
Block number as a decimal integer.
Complete Examples
Index 0 — includes thebase object (block header):
base object: