> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-roethke-b20-upgrade-pages.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Base RPC Overview

> Complete reference for all JSON-RPC and Flashblocks methods available on Base nodes.

Base exposes a single, fully EVM-compatible JSON-RPC API across two performance tiers. You can move from 2-second block confirmations to 200ms pre-confirmations by switching one URL and one block tag.

## Networks

For network details, RPC endpoints, and wallet setup, see [Connecting to Base](/base-chain/quickstart/connecting-to-base).

<Note>
  The public Base endpoints are **HTTP only**. WebSocket RPC connections (`eth_subscribe`, `newHeads`, `logs`) are not available on public Base endpoints — choose a WebSocket-capable provider from the [Base Services Hub](/get-started/base-services-hub).
</Note>

## Flashblocks

All Base public endpoints are Flashblocks-enabled. Every standard `eth_` method works identically, and the `pending` block tag reflects the current **pre-confirmed block in progress**, updated every \~200ms with new batches of sequencer-ordered transactions.

Calls like `eth_getBalance`, `eth_getStorageAt`, and `eth_call` run against real sequencer state up to 1.8 seconds before the block seals, with sub-second latency.

## API Reference

### Ethereum JSON-RPC API

Core Ethereum protocol methods for account queries, block and transaction data, gas estimation, and log filtering.

<Info>
  Methods marked ✓ support the `"pending"` block tag, which reflects the current pre-confirmed Flashblock in progress.
</Info>

| Method | Description | Flashblocks `pending` |
| :- | :- | :- |
| [eth\_blockNumber](/base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber) | Current block number | — |
| [eth\_getBalance](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance) | Account ETH balance | ✓ |
| [eth\_getTransactionCount](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount) | Account nonce / tx count | ✓ |
| [eth\_getCode](/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode) | Deployed contract bytecode | ✓ |
| [eth\_getStorageAt](/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt) | Contract storage slot value | ✓ |
| [eth\_call](/base-chain/api-reference/ethereum-json-rpc-api/eth_call) | Execute read-only call | ✓ |
| [eth\_getBlockByNumber](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber) | Block data by number | ✓ |
| [eth\_getBlockByHash](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash) | Block data by hash | — |
| [eth\_getBlockReceipts](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts) | All receipts for a block | ✓ |
| [eth\_getBlockTransactionCountByNumber](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber) | Tx count by block number | ✓ |
| [eth\_getBlockTransactionCountByHash](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash) | Tx count by block hash | — |
| [eth\_getTransactionByHash](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash) | Transaction data by hash | — |
| [eth\_getTransactionByBlockHashAndIndex](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex) | Tx by block hash and index | — |
| [eth\_getTransactionByBlockNumberAndIndex](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex) | Tx by block number and index | — |
| [eth\_getTransactionReceipt](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt) | Receipt for a mined tx | — |
| [eth\_sendRawTransaction](/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction) | Submit signed transaction | — |
| [eth\_gasPrice](/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice) | Current gas price | — |
| [eth\_maxPriorityFeePerGas](/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas) | Max priority fee estimate | — |
| [eth\_feeHistory](/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory) | Historical base fee and rewards | — |
| [eth\_estimateGas](/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas) | Estimate gas for a tx | ✓ |
| [eth\_getLogs](/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs) | Query event logs by filter | ✓ |
| [eth\_chainId](/base-chain/api-reference/ethereum-json-rpc-api/eth_chainId) | Network chain ID | — |
| [eth\_syncing](/base-chain/api-reference/ethereum-json-rpc-api/eth_syncing) | Node sync status | — |
| [net\_version](/base-chain/api-reference/ethereum-json-rpc-api/net_version) | Network version ID | — |
| [web3\_clientVersion](/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion) | Client version string | — |
| [eth\_subscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe) | Subscribe to events (WSS) | ✓ |
| [eth\_unsubscribe](/base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe) | Cancel a subscription (WSS) | — |

### Flashblocks API

Pre-confirmation methods for sub-second transaction signals on Base. These methods enable reading state, simulating bundles, and streaming events up to \~1.8 seconds before a block seals.

| Method | Description |
| - | - |
| [eth\_simulateV1](/base-chain/api-reference/flashblocks-api/eth_simulateV1) | Simulate transaction bundles against pre-confirmed state |
| [base\_transactionStatus](/base-chain/api-reference/flashblocks-api/base_transactionStatus) | Check if a transaction has been received by the mempool |
| [newFlashblockTransactions](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) | Subscribe to individual pre-confirmed transactions |
| [pendingLogs](/base-chain/api-reference/flashblocks-api/pendingLogs) | Subscribe to filtered logs from pre-confirmed transactions |
| [newFlashblocks](/base-chain/api-reference/flashblocks-api/newFlashblocks) | Subscribe to full Flashblock payload stream |

### Debug API

Development and debugging utilities for deep transaction inspection and block replay. Debug methods replay transactions and are computationally expensive — availability and rate limits vary among providers in the [Base Services Hub](/get-started/base-services-hub).

| Method | Description |
| - | - |
| [debug\_traceTransaction](/base-chain/api-reference/debug-api/debug_traceTransaction) | Full EVM execution trace for a transaction |
| [debug\_traceBlockByHash](/base-chain/api-reference/debug-api/debug_traceBlockByHash) | EVM traces for all transactions in a block by hash |
| [debug\_traceBlockByNumber](/base-chain/api-reference/debug-api/debug_traceBlockByNumber) | EVM traces for all transactions in a block by number |

## Request & 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:**

```json Request theme={null}
{
  "jsonrpc": "2.0",
  "method": "eth_getBalance",
  "params": ["0x742d35Cc6634C0532925a3b8D4C9dD0b4f3BaEa", "pending"],
  "id": 1
}
```

**Success response:**

```json Success Response theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x1a055690d9db80000"
}
```

**Error response:**

```json Error Response lines wrap expandable theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Invalid params"
  }
}
```

## 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

| 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 |
