RPC overview
Base exposes one EVM-compatible JSON-RPC API across two performance tiers. Switch a single endpoint URL and the pending block tag to move from 2-second sealed blocks to 200ms pre-confirmations — every other method behaves the same.
Networks
Section titled “Networks”| Network | Chain ID | Type | Archive |
|---|---|---|---|
| Mainnet | 8453 | Production | Yes |
| Sepolia | 84532 | Testnet | Yes |
Endpoints
Section titled “Endpoints”| Tier | HTTP | WSS |
|---|---|---|
| Standard | https://mainnet.base.org | wss://mainnet.base.org |
| Flashblocks | https://mainnet-preconf.base.org | wss://mainnet-preconf.base.org |
| Tier | HTTP | WSS |
|---|---|---|
| Standard | https://sepolia.base.org | wss://sepolia.base.org |
| Flashblocks | https://sepolia-preconf.base.org | wss://sepolia-preconf.base.org |
The Flashblocks tier
Section titled “The Flashblocks tier”Flashblocks endpoints are fully EVM-equivalent — every standard eth_ method works identically. The difference is what the pending block tag returns.
- On Standard endpoints,
pendingreflects the transaction pool (unmined state). - On Flashblocks endpoints,
pendingreflects the pre-confirmed block currently being built, refreshed every ~200ms with new batches of sequencer-ordered transactions.
Methods such as eth_getBalance, eth_getStorageAt, and eth_call execute against real sequencer state up to 1.8 seconds before a block seals, with sub-second latency.
Namespaces
Section titled “Namespaces”Base nodes implement the standard Ethereum namespaces plus a small set of Base-specific methods.
eth— core Ethereum protocol methods for accounts, blocks, transactions, gas, and logs. Available on both Standard and Flashblocks endpoints.net— network identification (net_version).web3— client identification (web3_clientVersion).debug— replay and tracing utilities for deep transaction inspection. Computationally expensive; availability depends on the node provider.txpool— inspection of the local mempool.base— Base-specific helpers, including pre-confirmation status checks (base_transactionStatus).- Flashblocks — pre-confirmation methods (
eth_simulateV1) and WebSocket streams (newFlashblockTransactions,pendingLogs,newFlashblocks) available only on Flashblocks endpoints.
Method index
Section titled “Method index”Ethereum JSON-RPC API
Section titled “Ethereum JSON-RPC API”Methods marked with a check mark support the "pending" block tag on Flashblocks endpoints.
| Method | Description | Flashblocks pending |
|---|---|---|
| eth_blockNumber | Current block number | — |
| eth_getBalance | Account ETH balance | yes |
| eth_getTransactionCount | Account nonce / tx count | yes |
| eth_getCode | Deployed contract bytecode | yes |
| eth_getStorageAt | Contract storage slot value | yes |
| eth_call | Execute read-only call | yes |
| eth_getBlockByNumber | Block data by number | yes |
| eth_getBlockByHash | Block data by hash | — |
| eth_getBlockReceipts | All receipts for a block | yes |
| eth_getBlockTransactionCountByNumber | Tx count by block number | yes |
| eth_getBlockTransactionCountByHash | Tx count by block hash | — |
| eth_getTransactionByHash | Transaction data by hash | — |
| eth_getTransactionByBlockHashAndIndex | Tx by block hash and index | — |
| eth_getTransactionByBlockNumberAndIndex | Tx by block number and index | — |
| eth_getTransactionReceipt | Receipt for a mined tx | — |
| eth_sendRawTransaction | Submit signed transaction | — |
| eth_gasPrice | Current gas price | — |
| eth_maxPriorityFeePerGas | Max priority fee estimate | — |
| eth_feeHistory | Historical base fee and rewards | — |
| eth_estimateGas | Estimate gas for a tx | yes |
| eth_getLogs | Query event logs by filter | yes |
| eth_chainId | Network chain ID | — |
| eth_syncing | Node sync status | — |
| net_version | Network version ID | — |
| web3_clientVersion | Client version string | — |
| eth_subscribe | Subscribe to events (WSS) | yes |
| eth_unsubscribe | Cancel a subscription (WSS) | — |
Flashblocks API
Section titled “Flashblocks API”Pre-confirmation methods that deliver sub-second transaction signals on Base. These are only available on Flashblocks endpoints and let you read state, simulate bundles, and stream events up to ~1.8 seconds ahead of block sealing.
| Method | Description |
|---|---|
| eth_simulateV1 | Simulate transaction bundles against pre-confirmed state |
| base_transactionStatus | Check whether a transaction has been received by the mempool |
| newFlashblockTransactions | Subscribe to individual pre-confirmed transactions |
| pendingLogs | Subscribe to filtered logs from pre-confirmed transactions |
| newFlashblocks | Subscribe to the full Flashblock payload stream |
Debug API
Section titled “Debug API”Development and debugging utilities for transaction replay and block inspection. Debug methods replay execution and are computationally expensive — availability and rate limits vary by node provider.
| Method | Description |
|---|---|
| debug_traceTransaction | Full EVM execution trace for a transaction |
| debug_traceBlockByHash | EVM traces for every transaction in a block by hash |
| debug_traceBlockByNumber | EVM traces for every transaction in a block by number |
Request and response format
Section titled “Request and response format”All requests are HTTP POST with Content-Type: application/json.
| Field | Type | Description |
|---|---|---|
jsonrpc | string | Always "2.0" |
method | string | The RPC method name |
params | array | Method parameters in order |
id | number | string | Identifier echoed back in the response |
Request:
{ "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["0x742d35Cc6634C0532925a3b8D4C9dD0b4f3BaEa", "pending"], "id": 1}Success response:
{ "jsonrpc": "2.0", "id": 1, "result": "0x1a055690d9db80000"}Error response:
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32602, "message": "Invalid params" }}Error codes
Section titled “Error codes”| Code | Name | Description |
|---|---|---|
-32700 | Parse error | Invalid JSON |
-32600 | Invalid request | Not a valid JSON-RPC 2.0 object |
-32601 | Method not found | Method does not exist or is unavailable |
-32602 | Invalid params | Invalid method parameters |
-32603 | Internal error | Internal JSON-RPC error |
-32000 | Server error | Node-specific error (see message) |
Block parameters
Section titled “Block parameters”| Value | Standard | Flashblocks |
|---|---|---|
"latest" | Most recently sealed block | Most recently sealed block |
"pending" | Unmined transaction pool state | Current Flashblock in progress (~200ms resolution) |
"safe" | Latest safe block | Latest safe block |
"finalized" | Latest finalized block | Latest finalized block |
"earliest" | Genesis block | Genesis block |
"0x<n>" | Specific block by number | Specific block by number |