All standard JSON-RPC methods work as-is against a Flashblocks endpoint — use the
"pending" block tag to read preconfirmed state.Endpoints
Connect to a Flashblocks-aware endpoint to access preconfirmed data:| Network | HTTP RPC | WebSocket (WSS) |
|---|---|---|
| Mainnet | https://mainnet-preconf.base.org | wss://mainnet-preconf.base.org |
| Sepolia | https://sepolia-preconf.base.org | wss://sepolia-preconf.base.org |
Flashblocks-Specific Methods
eth_simulateV1
Simulates one or more transaction bundles against the current preconfirmed Flashblock state. Supports state overrides, multi-block simulation, and optional transfer tracing.Parameters
The simulation configuration.
Use
"pending" to simulate against the current Flashblock state.Returns
Array of simulated block results, one per entry in
blockStateCalls.base_transactionStatus Beta
Checks whether a specific transaction is present in the node’s mempool. Use this to confirm that a submitted transaction has been received before it appears in a Flashblock.Requires base/base minimum client version v0.3.0.
Parameters
The 32-byte transaction hash to query.
Returns
Transaction status object.
WebSocket Subscription Methods
Flashblocks-aware nodes expose specializedeth_subscribe subscription types for real-time streaming of preconfirmed data at ~200ms intervals — well before a full block is sealed.
The Flashblocks-specific subscription types (
newFlashblockTransactions, pendingLogs, newFlashblocks) require base/base minimum client version v0.3.1.Flashblocks Subscription Types
In addition to the standard subscription types (newHeads, logs, newPendingTransactions), Flashblocks-aware nodes support:
| Subscription | Description | Response format |
|---|---|---|
newFlashblockTransactions | Streams transactions as they are preconfirmed into Flashblocks | One transaction per message |
pendingLogs | Streams logs matching a filter as they are preconfirmed | One log per message |
newFlashblocks | Streams full block state updates for each new Flashblock | Block state object per Flashblock |
newFlashblockTransactions
Subscribe to receive each transaction as it is preconfirmed. Passtrue as the second parameter to receive full transaction and log data in each message.
Parameters
Must be
"newFlashblockTransactions".Optional. If
true, each notification includes the full transaction object and associated logs. If false or omitted, notifications contain minimal transaction data.Returns
Hex-encoded subscription ID.
pendingLogs
Subscribe to receive logs from preconfirmed transactions matching an optional filter. Useful for monitoring contract events with sub-block latency.Parameters
Must be
"pendingLogs".Optional log filter.
Returns
Hex-encoded subscription ID.
newFlashblocks
Subscribe to receive full block state updates as each Flashblock is built. Each message contains the accumulated preconfirmed state for the block in progress.Parameters
Must be
"newFlashblocks".Returns
Hex-encoded subscription ID.
eth_unsubscribe
Cancels a Flashblocks subscription. Works identically to the standard eth_unsubscribe.Parameters
The hex-encoded subscription ID returned by
eth_subscribe.Returns
true if successfully cancelled, false if the subscription ID was not found.Infrastructure Stream
The raw Flashblocks infrastructure stream is the upstream source that Flashblocks-aware RPC nodes consume.| Network | 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.Unique identifier for the block being built. Remains consistent across all 10 Flashblocks within a single full block.
Flashblock index within the current block (0–10). Index 0 contains system transactions only; indexes 1–10 contain user transactions.
Block header properties. Only present when
index is 0. See Base Object.Block differences/updates for this Flashblock. See Diff Object.
Additional data including balance updates and transaction receipts. Not stable — may change without notice. See Metadata Object.
Base Object
Contains full block header properties. Only present in Index 0 (the first Flashblock of each full block).Hash of the parent block.
Address receiving transaction fees (coinbase).
Block number in hex format.
Maximum gas allowed in this block (hex).
Unix timestamp of block creation (hex).
Base fee per gas unit (hex, EIP-1559).
Previous RANDAO value for randomness.
Arbitrary data included by the block builder.
Diff Object
Contains the block state changes for this specific Flashblock. Present in every message.Merkle root of the state trie after applying this Flashblock’s transactions.
Hash of the block at this Flashblock index. Changes with each Flashblock as more transactions are added.
Cumulative gas used up to and including this Flashblock (hex).
Cumulative blob gas used (hex, EIP-4844).
Array of RLP-encoded transaction data included in this Flashblock.
Validator withdrawals included in this Flashblock (typically empty on L2).
Merkle root of transaction receipts.
Bloom filter for quick log searching.
Merkle root of withdrawals.
Metadata Object
Receipt Object
Transaction execution result. Check whichtype is present to determine the transaction type: Legacy, Access List, EIP-1559, Custom/Experimental (Deposit)
Transaction type:
0x0 Legacy, 0x1 Access List, 0x2 EIP-1559, 0x7e Deposit (L1→L2).Transaction status:
0x1 for success, 0x0 for failure.Total gas used in the block up to and including this transaction (hex).
Array of event logs emitted by the transaction. See Log Object.
Bloom filter for the logs in this receipt.
Index of the transaction within the block (hex).
Log Object
Complete Examples
Index 0 (initial) — includes thebase object:
base object: