diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx index a9dcad6dc..89e905ed2 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_call.mdx @@ -1,13 +1,13 @@ --- title: 'eth_call' sidebarTitle: 'eth_call' -description: 'Executes a message call without creating a transaction. Use pending on a Flashblocks endpoint to simulate against pre-confirmed state.' +description: 'Executes a message call without creating a transaction. Use pending to simulate against pre-confirmed state.' --- Executes a message call immediately without broadcasting a transaction to the network. No gas is consumed on-chain. Used to read contract state or simulate calls. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to simulate against the current pre-confirmed block state, updated every ~200ms. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to simulate against the current pre-confirmed block state, updated every ~200ms. @@ -48,7 +48,7 @@ Executes a message call immediately without broadcasting a transaction to the ne - Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` on a Flashblocks endpoint to call against pre-confirmed state. + Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` to call against pre-confirmed state. ## Returns @@ -85,7 +85,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending, ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.mdx index 28459b710..49cb8f27f 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas.mdx @@ -1,13 +1,13 @@ --- title: 'eth_estimateGas' sidebarTitle: 'eth_estimateGas' -description: 'Estimates the gas required for a transaction. Use pending on a Flashblocks endpoint to estimate against pre-confirmed state.' +description: 'Estimates the gas required for a transaction. Use pending to estimate against pre-confirmed state.' --- Returns an estimate of how much gas is required to execute a transaction. The estimate may be larger than the gas actually used at execution time. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to estimate gas against the current pre-confirmed state, useful when a transaction depends on a prior pre-confirmed one. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to estimate gas against the current pre-confirmed state, useful when a transaction depends on a prior pre-confirmed one. ## Parameters @@ -44,7 +44,7 @@ Returns an estimate of how much gas is required to execute a transaction. The es - Block to estimate against. Optional; defaults to `"latest"`. Use `"pending"` on a Flashblocks endpoint to estimate against pre-confirmed state. + Block to estimate against. Optional; defaults to `"latest"`. Use `"pending"` to estimate against pre-confirmed state. ## Returns @@ -79,7 +79,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending state) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.mdx index d73e5eaaa..9ab11eb35 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory.mdx @@ -25,8 +25,10 @@ Returns historical gas information for a range of blocks, including base fees an The oldest block number in the result set (hex). - Array of base fees per gas for each block, plus one extra for the next pending block. - Array of gas used / gas limit ratios for each block (0.0 to 1.0). + Array of base fees per gas for each block, plus one extra entry for the next pending block. Length = `blockCount + 1`. + Array of gas used / gas limit ratios for each block (0.0 to 1.0). Length = `blockCount`. + Array of base fees per blob gas for each block, plus one extra for the next pending block (EIP-4844). Always `"0x1"` on Base currently. Length = `blockCount + 1`. + Array of blob gas used ratios for each block (0.0 to 1.0). Used to adjust the blob base fee (EIP-4844). Length = `blockCount`. 2D array of priority fee percentiles per block, matching the requested percentile values. @@ -48,12 +50,33 @@ Returns historical gas information for a range of blocks, including base fees an "jsonrpc": "2.0", "id": 1, "result": { - "oldestBlock": "0x158a0e0", - "baseFeePerGas": ["0xf5", "0xf7", "0xfa", "0xfc", "0xf8", "0xf5", "0xf2", "0xf0", "0xef", "0xf1", "0xf3"], - "gasUsedRatio": [0.45, 0.62, 0.38, 0.71, 0.55, 0.49, 0.43, 0.37, 0.52, 0.64], + "baseFeePerBlobGas": [ + "0x1", + "0x1", + "0x1", + "0x1", + "0x3" + ], + "baseFeePerGas": [ + "0x4c4b40", + "0x4c4b40", + "0x4c4b40", + "0x4c4b40", + "0x4c4b40" + ], + "blobGasUsedRatio": [0, 0, 0, 0], + "gasUsedRatio": [ + 0.1180706525, + 0.1370935325, + 0.120803475, + 0.0968808 + ], + "oldestBlock": "0x2c31b05", "reward": [ - ["0x1", "0x1", "0x2"], - ["0x1", "0x1", "0x1"] + ["0xf4240", "0x2191c0"], + ["0xf4240", "0x186a00"], + ["0x7a138", "0x4c4b40"], + ["0xf4240", "0x4c4b40"] ] } } diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.mdx index 4cf69ecf1..9b5dcdf71 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice.mdx @@ -32,7 +32,7 @@ No parameters. { "jsonrpc": "2.0", "id": 1, - "result": "0xfa" + "result": "0x5b8d80" } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.mdx index db85174f0..1365bc3c8 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance.mdx @@ -1,13 +1,13 @@ --- title: 'eth_getBalance' sidebarTitle: 'eth_getBalance' -description: 'Returns the ETH balance of an account at a given block. Use the pending tag on a Flashblocks endpoint for 200ms pre-confirmed balances.' +description: 'Returns the ETH balance of an account at a given block. Use the pending tag for 200ms pre-confirmed balances.' --- Returns the ETH balance of an address at a given block. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to read balances updated every ~200ms — before the block seals. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to read balances updated every ~200ms — before the block seals. ## Parameters @@ -17,7 +17,7 @@ Returns the ETH balance of an address at a given block. - Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` on a Flashblocks endpoint for pre-confirmed balance. + Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` for pre-confirmed balance. ## Returns @@ -42,7 +42,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending, ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.mdx index e1197067a..38e775f44 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash.mdx @@ -19,7 +19,7 @@ Returns information about a block by its hash. ## Returns - A block object, or `null` if no block was found. See [`eth_getBlockByNumber`](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber) for the full field list. + A block object, or `null` if no block was found. The response shape is identical to [`eth_getBlockByNumber`](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber) — see that page for the full field list. ## Example @@ -39,13 +39,35 @@ Returns information about a block by its hash. "jsonrpc": "2.0", "id": 1, "result": { - "number": "0x158a0e9", - "hash": "0x5c330e55a190f82ea486b61e5b12e27dfb4fb3cecfc5746886ef38ca1281bce8", - "parentHash": "0x9edc29b8b0a1e31d28616e40c16132ad0d58faa8bb952595b557526bdb9a960a", - "timestamp": "0x67bf8332", - "gasLimit": "0x3938700", - "gasUsed": "0xab3f", - "transactions": ["0x7ef8f8a0..."] + "baseFeePerGas": "0x4c4b40", + "blobGasUsed": "0x5384cc", + "difficulty": "0x0", + "excessBlobGas": "0x0", + "extraData": "0x01000000640000000500000000004c4b40", + "gasLimit": "0x17d78400", + "gasUsed": "0x2155bc7", + "hash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "logsBloom": "0xb765d5b0...", + "miner": "0x4200000000000000000000000000000000000011", + "mixHash": "0x47aecef0e1afa26b8e1f428e9a8696cf53d85c62587d8c2cea079c715cd29626", + "nonce": "0x0000000000000000", + "number": "0x2c31b0b", + "parentBeaconBlockRoot": "0x15b9e7c8ac4cbe92dafc849ed30a23e91624bbe5cbe199c0ccea3f7de7fc6d49", + "parentHash": "0x89f4c9e23a2f706f0afa9ca8f770c4b7dcbcb73ba7e9b1c29c4a8c1b90c31d24", + "receiptsRoot": "0x5a428d77344334537d7adaf85a45eb6d7977bc807a68c669f36cb043600da6d2", + "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x1bb3b", + "stateRoot": "0x1b1525af0cdd504147b89f2a7ce1838ccb70c5439c45ce55522c2e2529801e87", + "timestamp": "0x6a1092f9", + "transactions": [ + "0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51", + "..." + ], + "transactionsRoot": "0x6b9c9fcbdf98a8f4d38a3c16d099e9f0c7b7b474c2f5e044af7c91949c04a234", + "uncles": [], + "withdrawals": [], + "withdrawalsRoot": "0x57f4414a70a4af5e1a97b5fd8b8c6c870c00e8d9dbc0fde0059ce46e2cd28e5b" } } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx index 1fa83cf57..6d9ac38f5 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber.mdx @@ -7,13 +7,13 @@ description: 'Returns block information by number. On Flashblocks endpoints, the Returns information about a block by its number. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to fetch the live Flashblock in progress — a real block object updated every ~200ms with new pre-confirmed transactions. The response shape is identical; the block is simply not yet sealed. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to fetch the live Flashblock in progress — a real block object updated every ~200ms with new pre-confirmed transactions. The response shape is identical; the block is simply not yet sealed. ## Parameters - Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` on a Flashblocks endpoint to get the in-progress block. + Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` to get the in-progress block. @@ -37,7 +37,7 @@ Returns information about a block by its number. Root of the receipts trie. Address of the fee recipient (coinbase). Always `"0x0"` on Base (PoS). - Always `"0x0"` on Base (PoS). + Present in all blocks; repurposed for PoS consensus (bytes32 hex). Arbitrary data field set by the sequencer. Block size in bytes (hex). Maximum gas allowed in this block (hex). @@ -46,6 +46,7 @@ Returns information about a block by its number. Array of transaction hashes or full transaction objects. Always `[]` on Base. Always `[]` on Base. + Merkle root of the withdrawals list (EIP-4895, bytes32 hex). EIP-1559 base fee per gas (hex). Total blob gas used (EIP-4844, hex). Excess blob gas for blob fee calculation (EIP-4844, hex). @@ -56,7 +57,7 @@ Returns information about a block by its number. ## Flashblock-Specific Response Fields -When querying `"pending"` on a Flashblocks endpoint, the response is a live snapshot of the block being built. A few fields behave differently: +When querying `"pending"`, the response is a live snapshot of the block being built. A few fields behave differently: | Field | Standard `latest` | Flashblocks `pending` | | --- | --- | --- | @@ -82,7 +83,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending, live at ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ @@ -98,16 +99,35 @@ curl https://mainnet-preconf.base.org \ "jsonrpc": "2.0", "id": 1, "result": { - "number": "0x158a0e9", - "hash": "0x5c330e55a190f82ea486b61e5b12e27dfb4fb3cecfc5746886ef38ca1281bce8", - "parentHash": "0x9edc29b8b0a1e31d28616e40c16132ad0d58faa8bb952595b557526bdb9a960a", - "timestamp": "0x67bf8332", - "gasLimit": "0x3938700", - "gasUsed": "0xab3f", - "baseFeePerGas": "0xfa", - "transactions": ["0x7ef8f8a0..."], + "baseFeePerGas": "0x4c4b40", + "blobGasUsed": "0x5384cc", + "difficulty": "0x0", + "excessBlobGas": "0x0", + "extraData": "0x01000000640000000500000000004c4b40", + "gasLimit": "0x17d78400", + "gasUsed": "0x2155bc7", + "hash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "logsBloom": "0xb765d5b0...", + "miner": "0x4200000000000000000000000000000000000011", + "mixHash": "0x47aecef0e1afa26b8e1f428e9a8696cf53d85c62587d8c2cea079c715cd29626", + "nonce": "0x0000000000000000", + "number": "0x2c31b0b", + "parentBeaconBlockRoot": "0x15b9e7c8ac4cbe92dafc849ed30a23e91624bbe5cbe199c0ccea3f7de7fc6d49", + "parentHash": "0x89f4c9e23a2f706f0afa9ca8f770c4b7dcbcb73ba7e9b1c29c4a8c1b90c31d24", + "receiptsRoot": "0x5a428d77344334537d7adaf85a45eb6d7977bc807a68c669f36cb043600da6d2", + "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x1bb3b", + "stateRoot": "0x1b1525af0cdd504147b89f2a7ce1838ccb70c5439c45ce55522c2e2529801e87", + "timestamp": "0x6a1092f9", + "transactions": [ + "0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51", + "..." + ], + "transactionsRoot": "0x6b9c9fcbdf98a8f4d38a3c16d099e9f0c7b7b474c2f5e044af7c91949c04a234", + "uncles": [], "withdrawals": [], - "miner": "0x4200000000000000000000000000000000000011" + "withdrawalsRoot": "0x57f4414a70a4af5e1a97b5fd8b8c6c870c00e8d9dbc0fde0059ce46e2cd28e5b" } } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.mdx index cf93d1a22..c6dc3d2e7 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts.mdx @@ -1,13 +1,17 @@ --- title: 'eth_getBlockReceipts' sidebarTitle: 'eth_getBlockReceipts' -description: 'Returns all transaction receipts for a block. Use pending on a Flashblocks endpoint for pre-confirmed receipts.' +description: 'Returns all transaction receipts for a block. Use pending for pre-confirmed receipts.' --- Returns all transaction receipts for a given block. + +This method returns HTTP 403 on the public Base RPC endpoints (`mainnet.base.org`, `sepolia.base.org`). It requires a dedicated or third-party RPC provider. See the [node providers page](/base-chain/network-information/node-providers) for options. + + -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to get receipts for all pre-confirmed transactions in the current Flashblock. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to get receipts for all pre-confirmed transactions in the current Flashblock. ## Parameters @@ -32,7 +36,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_getBlockReceipts","params":["pending"],"id":1}' ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.mdx index 516590eec..ce6f542b4 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber.mdx @@ -7,7 +7,7 @@ description: 'Returns the number of transactions in a block by block number.' Returns the number of transactions in a block matching the given block number. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to get the count of pre-confirmed transactions in the current Flashblock. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to get the count of pre-confirmed transactions in the current Flashblock. ## Parameters diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.mdx index ff2d89629..a8c7b5c1c 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getCode.mdx @@ -1,13 +1,13 @@ --- title: 'eth_getCode' sidebarTitle: 'eth_getCode' -description: 'Returns the contract bytecode at an address. Use pending on a Flashblocks endpoint to detect newly deployed contracts before block finalization.' +description: 'Returns the contract bytecode at an address. Use pending to detect newly deployed contracts before block finalization.' --- Returns the compiled bytecode at a given address. Returns `"0x"` for externally owned accounts (EOAs). -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to detect contract deployments before the block seals. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to detect contract deployments before the block seals. ## Parameters @@ -42,7 +42,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending, ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.mdx index b41d86494..a1ad0ac6c 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs.mdx @@ -1,7 +1,7 @@ --- title: 'eth_getLogs' sidebarTitle: 'eth_getLogs' -description: 'Returns logs matching a filter. Use pending on a Flashblocks endpoint to query logs from pre-confirmed transactions.' +description: 'Returns logs matching a filter. Use pending to query logs from pre-confirmed transactions.' --- Returns an array of all logs matching a given filter object. Particularly useful for indexing on-chain events. @@ -11,7 +11,7 @@ Queries spanning large block ranges or high-activity contracts can time out or b -**Flashblocks:** Set `"fromBlock": "pending"` and `"toBlock": "pending"` on a `https://mainnet-preconf.base.org` endpoint to query logs from pre-confirmed transactions, updated every ~200ms. For a real-time stream, consider the [`pendingLogs`](/base-chain/api-reference/flashblocks-api/pendingLogs) WebSocket subscription instead. +**Flashblocks:** Set `"fromBlock": "pending"` and `"toBlock": "pending"` to query logs from pre-confirmed transactions, updated every ~200ms. For a real-time stream, consider the [`pendingLogs`](/base-chain/api-reference/flashblocks-api/pendingLogs) WebSocket subscription instead. ## Parameters @@ -21,7 +21,7 @@ Queries spanning large block ranges or high-activity contracts can time out or b - Start of the block range. Block number in hex or a block tag. Use `"pending"` on a Flashblocks endpoint to include pre-confirmed logs. Defaults to `"latest"`. + Start of the block range. Block number in hex or a block tag. Use `"pending"` to include pre-confirmed logs. Defaults to `"latest"`. End of the block range. Block number in hex or a block tag. Defaults to `"latest"`. @@ -48,6 +48,7 @@ Queries spanning large block ranges or high-activity contracts can time out or b Array of 0–4 indexed 32-byte topics. Topic 0 is typically the event signature hash. ABI-encoded non-indexed event parameters. Block number in which this log was emitted (hex). + Unix timestamp of the block containing this log as a hex string. OP Stack extension to the standard Ethereum log schema. 32-byte hash of the transaction that emitted this log. Index of the transaction in the block (hex). 32-byte hash of the block. @@ -77,7 +78,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending, ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ @@ -99,19 +100,20 @@ curl https://mainnet-preconf.base.org \ "id": 1, "result": [ { - "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", + "address": "0x4200000000000000000000000000000000000006", + "blockHash": "0x89f4c9e23a2f706f0afa9ca8f770c4b7dcbcb73ba7e9b1c29c4a8c1b90c31d24", + "blockNumber": "0x2c31b0a", + "blockTimestamp": "0x6a1092f7", + "data": "0x00000000000000000000000000000000000000000000000080134424aad49d08", + "logIndex": "0x0", + "removed": false, "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x000000000000000000000000d3cda913deb6f4967b2ef66ae97de114a83bcc01", - "0x0000000000000000000000004200000000000000000000000000000000000006" + "0x000000000000000000000000b2cc224c1c9fee385f8ad6a55b4d94e92359dc59", + "0x00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f" ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockNumber": "0x12ced28", - "transactionHash": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238", - "transactionIndex": "0x0", - "blockHash": "0x3a4e8c5d7f2b1a6e9d0c4f8b3e7a2d5c8f1b4e7a0d3c6f9b2e5a8d1c4f7b0e3", - "logIndex": "0x0", - "removed": false + "transactionHash": "0x2ca798df9d399b886fb3735414e8d35a20fec080e48eb5e2e75c0f6ec349a725", + "transactionIndex": "0x1" } ] } diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.mdx index 3341f85e2..826d189ae 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt.mdx @@ -1,13 +1,13 @@ --- title: 'eth_getStorageAt' sidebarTitle: 'eth_getStorageAt' -description: 'Returns the value of a storage slot at an address. Use pending on a Flashblocks endpoint for pre-confirmed storage reads.' +description: 'Returns the value of a storage slot at an address. Use pending for pre-confirmed storage reads.' --- Returns the value from a storage position at a given address. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to read storage updated by pre-confirmed transactions every ~200ms. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to read storage updated by pre-confirmed transactions every ~200ms. ## Parameters @@ -46,7 +46,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending, ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.mdx index 34a86ce01..db7d54d05 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex.mdx @@ -34,15 +34,30 @@ Returns information about a transaction given a block hash and the transaction's } ``` -```json Response +```json Response (type 0x7e deposit, index 0x0) { "jsonrpc": "2.0", "id": 1, "result": { - "hash": "0x7ef8f8a0...", - "blockNumber": "0x158a0e9", + "blockHash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "blockNumber": "0x2c31b0b", + "depositReceiptVersion": "0x1", + "from": "0xdeaddeaddeaddeaddeaddeaddeaddeaddead0001", + "gas": "0xf4240", + "gasPrice": "0x0", + "hash": "0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51", + "input": "0x3db6be2b...", + "mint": "0x0", + "nonce": "0x2c31b0e", + "r": "0x0", + "s": "0x0", + "sourceHash": "0xe40ffb1b9f98a24b21e90e3a3cfe49de1eed195618e943da4d029881d3b3e055", + "to": "0x4200000000000000000000000000000000000015", "transactionIndex": "0x0", - "type": "0x7e" + "type": "0x7e", + "v": "0x0", + "value": "0x0", + "yParity": "0x0" } } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.mdx index 1febb7498..b0e19733b 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex.mdx @@ -34,15 +34,30 @@ Returns information about a transaction given a block number and the transaction } ``` -```json Response +```json Response (type 0x7e deposit, index 0x0) { "jsonrpc": "2.0", "id": 1, "result": { - "hash": "0x7ef8f8a0...", - "blockNumber": "0x158a0e9", + "blockHash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "blockNumber": "0x2c31b0b", + "depositReceiptVersion": "0x1", + "from": "0xdeaddeaddeaddeaddeaddeaddeaddeaddead0001", + "gas": "0xf4240", + "gasPrice": "0x0", + "hash": "0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51", + "input": "0x3db6be2b...", + "mint": "0x0", + "nonce": "0x2c31b0e", + "r": "0x0", + "s": "0x0", + "sourceHash": "0xe40ffb1b9f98a24b21e90e3a3cfe49de1eed195618e943da4d029881d3b3e055", + "to": "0x4200000000000000000000000000000000000015", "transactionIndex": "0x0", - "type": "0x7e" + "type": "0x7e", + "v": "0x0", + "value": "0x0", + "yParity": "0x0" } } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.mdx index 09ca5e90b..e44c364ad 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash.mdx @@ -28,18 +28,27 @@ Returns information about a transaction given its hash. Returns `null` for unkno ETH value transferred in wei (hex). Gas provided by the sender (hex). Gas price in wei. For EIP-1559 transactions, this is the effective gas price paid (hex). - EIP-1559 maximum total fee per gas (hex). Present for type `0x2` transactions only. - EIP-1559 maximum priority fee per gas (hex). Present for type `0x2` transactions only. + EIP-1559 maximum total fee per gas (hex). Present for type `0x2` transactions only. Not present on type `0x7e`. + EIP-1559 maximum priority fee per gas (hex). Present for type `0x2` transactions only. Not present on type `0x7e`. ABI-encoded call data. `"0x"` for plain ETH transfers. Transaction type: `"0x0"` Legacy, `"0x1"` Access List, `"0x2"` EIP-1559, `"0x7e"` Deposit (L1→L2). - Chain ID the transaction is valid for. `"0x2105"` for Base Mainnet, `"0x14a34"` for Base Sepolia. - List of addresses and storage keys pre-declared by the transaction (EIP-2930). Present for type `0x1` and `0x2` transactions. + Chain ID the transaction is valid for. `"0x2105"` for Base Mainnet, `"0x14a34"` for Base Sepolia. Not present on type `0x7e`. + List of addresses and storage keys pre-declared by the transaction (EIP-2930). Present for type `0x1` and `0x2` transactions. Not present on type `0x7e`. ECDSA recovery ID (hex). - 32-byte ECDSA signature component r (hex). - 32-byte ECDSA signature component s (hex). + 32-byte ECDSA signature component r (hex). Always `"0x0"` for type `0x7e`. + 32-byte ECDSA signature component s (hex). Always `"0x0"` for type `0x7e`. + Identifies the deposit source (bytes32 hex). Present on type `0x7e` only. + ETH minted on L2 as part of this deposit (hex). Usually `"0x0"`. Present on type `0x7e` only. + Version of the deposit receipt format (hex). Present on type `0x7e` only. + Signature parity (hex). Always `"0x0"` for type `0x7e` deposits. + + +**Transaction types on Base:** Base supports Ethereum-standard types (`0x0` legacy, `0x1` EIP-2930, `0x2` EIP-1559) as well as OP Stack deposit transactions (`0x7e`). Deposit transactions are injected by the sequencer at the start of each block. Fields like `maxFeePerGas`, `accessList`, and `chainId` are not present on `0x7e` transactions; instead they carry `sourceHash`, `mint`, `depositReceiptVersion`, and `yParity`. + + ## Example @@ -47,35 +56,35 @@ Returns information about a transaction given its hash. Returns `null` for unkno { "jsonrpc": "2.0", "method": "eth_getTransactionByHash", - "params": ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"], + "params": ["0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51"], "id": 1 } ``` -```json Response +```json Response (type 0x7e deposit) { "jsonrpc": "2.0", "id": 1, "result": { - "hash": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238", - "nonce": "0x1b", - "blockHash": "0x3a4e8c5d7f2b1a6e9d0c4f8b3e7a2d5c8f1b4e7a0d3c6f9b2e5a8d1c4f7b0e3", - "blockNumber": "0x12ced28", + "blockHash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "blockNumber": "0x2c31b0b", + "depositReceiptVersion": "0x1", + "from": "0xdeaddeaddeaddeaddeaddeaddeaddeaddead0001", + "gas": "0xf4240", + "gasPrice": "0x0", + "hash": "0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51", + "input": "0x3db6be2b...", + "mint": "0x0", + "nonce": "0x2c31b0e", + "r": "0x0", + "s": "0x0", + "sourceHash": "0xe40ffb1b9f98a24b21e90e3a3cfe49de1eed195618e943da4d029881d3b3e055", + "to": "0x4200000000000000000000000000000000000015", "transactionIndex": "0x0", - "from": "0xd3CdA913deB6f4967b2Ef66ae97DE114a83bcc01", - "to": "0x4200000000000000000000000000000000000006", - "value": "0x2c68af0bb14000", - "gas": "0x5208", - "gasPrice": "0x3b9aca00", - "maxFeePerGas": "0x77359400", - "maxPriorityFeePerGas": "0x3b9aca00", - "input": "0x", - "type": "0x2", - "chainId": "0x2105", - "accessList": [], - "v": "0x1", - "r": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b", - "s": "0x2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c" + "type": "0x7e", + "v": "0x0", + "value": "0x0", + "yParity": "0x0" } } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.mdx index 21d2508ad..ec3f69d58 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount.mdx @@ -1,13 +1,13 @@ --- title: 'eth_getTransactionCount' sidebarTitle: 'eth_getTransactionCount' -description: 'Returns the number of transactions sent from an address (the nonce). Use pending on a Flashblocks endpoint to get the pre-confirmed nonce.' +description: 'Returns the number of transactions sent from an address (the nonce). Use pending to get the pre-confirmed nonce.' --- Returns the number of transactions sent from an address. This value is the account's current nonce — the value to use as `nonce` when constructing the next transaction. -**Flashblocks:** Query `https://mainnet-preconf.base.org` with `"pending"` to get the nonce inclusive of all pre-confirmed transactions, updated every ~200ms. This is critical for agents submitting high-frequency transactions to avoid nonce gaps. +**Flashblocks:** Query `https://mainnet.base.org` with `"pending"` to get the nonce inclusive of all pre-confirmed transactions, updated every ~200ms. This is critical for agents submitting high-frequency transactions to avoid nonce gaps. ## Parameters @@ -17,7 +17,7 @@ Returns the number of transactions sent from an address. This value is the accou - Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` on a Flashblocks endpoint to include all pre-confirmed transactions in the nonce count. + Block number in hex, or `"latest"`, `"pending"`, `"safe"`, `"finalized"`, `"earliest"`. Use `"pending"` to include all pre-confirmed transactions in the nonce count. ## Returns @@ -42,7 +42,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (pending nonce, ~200ms) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx index cbb40be0e..ea5f50675 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt.mdx @@ -36,8 +36,16 @@ Receipts are only available for mined transactions. To monitor a transaction bef 256-byte bloom filter for the logs in this receipt. Transaction type: `"0x0"` Legacy, `"0x1"` Access List, `"0x2"` EIP-1559, `"0x7e"` Deposit (L1→L2). `"0x1"` for success, `"0x0"` for failure (revert). - Blob gas consumed by this transaction (EIP-4844). `null` for non-blob transactions. Accurately propagated in both finalized and pre-confirmed Flashblock state. - Blob gas price at the time of this transaction (EIP-4844). `null` for non-blob transactions. + Blob gas consumed by this transaction (EIP-4844). `null` for non-blob transactions. + Total L1 data fee paid for this transaction (hex). OP Stack L2 field. + Amount of L1 gas used for the L1 data portion of this transaction (hex). OP Stack L2 field. + L1 gas price at the time of inclusion (hex). OP Stack L2 field. + Blob base fee on L1 at the time of inclusion (hex). OP Stack L2 field. + Scalar applied to the blob base fee for L1 fee calculation (hex). OP Stack L2 field. + Scalar applied to the L1 base fee for L1 fee calculation (hex). OP Stack L2 field. + Base-specific DA footprint scalar (hex). + Nonce used for the deposit transaction (hex). Present on type `0x7e` transactions only. + Deposit receipt version (hex). Present on type `0x7e` transactions only. @@ -47,18 +55,6 @@ Receipts are only available for mined transactions. To monitor a transaction bef | --- | --- | --- | | `-32000` | transaction indexing is in progress | The node is still indexing transactions. Retry after the node has finished syncing. | -## Flashblock-Specific Response Fields - -The Flashblocks infrastructure stream includes pre-confirmed receipt data inside the `metadata.receipts` object of each Flashblock payload before the block seals. This abbreviated receipt matches the full receipt shape: - -| Field | Flashblock `metadata.receipts[hash]` | -| --- | --- | -| `type` | Transaction type (`0x0`, `0x1`, `0x2`, `0x7e`) | -| `status` | `"0x1"` success / `"0x0"` failure | -| `cumulativeGasUsed` | Cumulative gas in block to this transaction | -| `logs` | Emitted log objects | -| `logsBloom` | Bloom filter | -| `transactionIndex` | Index in block | ## Example @@ -72,25 +68,35 @@ The Flashblocks infrastructure stream includes pre-confirmed receipt data inside } ``` -```json Response +```json Response (type 0x7e deposit) { "jsonrpc": "2.0", "id": 1, "result": { - "transactionHash": "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238", - "transactionIndex": "0x0", - "blockHash": "0x3a4e8c5d7f2b1a6e9d0c4f8b3e7a2d5c8f1b4e7a0d3c6f9b2e5a8d1c4f7b0e3", - "blockNumber": "0x12ced28", - "from": "0xd3CdA913deB6f4967b2Ef66ae97DE114a83bcc01", - "to": "0x4200000000000000000000000000000000000006", - "cumulativeGasUsed": "0x5208", - "effectiveGasPrice": "0x3b9aca00", - "gasUsed": "0x5208", + "blobGasUsed": "0x4154", + "blockHash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "blockNumber": "0x2c31b0b", "contractAddress": null, + "cumulativeGasUsed": "0xb48a", + "daFootprintGasScalar": "0x94", + "depositNonce": "0x2c31b0e", + "depositReceiptVersion": "0x1", + "effectiveGasPrice": "0x0", + "from": "0xdeaddeaddeaddeaddeaddeaddeaddeaddead0001", + "gasUsed": "0xb48a", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x582765", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0x0", + "l1GasPrice": "0x6bdbf6f", + "l1GasUsed": "0x71d", "logs": [], - "logsBloom": "0x00000000000000000000000000000000...", + "logsBloom": "0x000...000", "status": "0x1", - "type": "0x2" + "to": "0x4200000000000000000000000000000000000015", + "transactionHash": "0x03c8f106f18ad94190e763e21b584c5825b2f4c61f1274c0e8abe65b4476cd51", + "transactionIndex": "0x0", + "type": "0x7e" } } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.mdx index 87ccf9e82..943f0b649 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas.mdx @@ -32,7 +32,7 @@ No parameters. { "jsonrpc": "2.0", "id": 1, - "result": "0x1" + "result": "0xf4240" } ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx index 80a96ea75..3cb233f9a 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction.mdx @@ -1,13 +1,13 @@ --- title: 'eth_sendRawTransaction' sidebarTitle: 'eth_sendRawTransaction' -description: 'Submits a pre-signed transaction to the network. Submit to a Flashblocks preconf endpoint to get 200ms pre-confirmation.' +description: 'Submits a pre-signed transaction to the network. All Base endpoints are Flashblocks-enabled, providing 200ms pre-confirmation.' --- Submits a pre-signed, RLP-encoded transaction to the network and returns its hash. -**Flashblocks:** Submit to `https://mainnet-preconf.base.org` to have your transaction considered for the next Flashblock (~200ms). Use [`base_transactionStatus`](/base-chain/api-reference/flashblocks-api/base_transactionStatus) to confirm receipt in the mempool and subscribe to [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) to detect pre-confirmation. +**Flashblocks:** Submit to `https://mainnet.base.org` to have your transaction considered for the next Flashblock (~200ms). Use [`base_transactionStatus`](/base-chain/api-reference/flashblocks-api/base_transactionStatus) to confirm receipt in the mempool and subscribe to [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) to detect pre-confirmation. ## Parameters @@ -41,7 +41,7 @@ curl https://mainnet.base.org \ ``` ```bash Flashblocks (preconf submission) -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0x02f86b82210501843b9aca008477359400825208944200000000000000000000000000000000000006872c68af0bb1400080c001a0..."],"id":1}' ``` diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx index c265697ca..a0ed81281 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe.mdx @@ -1,14 +1,14 @@ --- title: 'eth_subscribe' sidebarTitle: 'eth_subscribe' -description: 'Creates a real-time WebSocket subscription. Flashblocks endpoints add three extra subscription types and emit newHeads every ~200ms.' +description: 'Creates a real-time WebSocket subscription for new blocks, logs, and pending transactions.' --- Creates a real-time event subscription over a WebSocket connection. Returns a subscription ID; events are pushed as `eth_subscription` notifications without the client needing to poll. - -**Flashblocks:** On `wss://mainnet-preconf.base.org`, `newHeads` emits every ~200ms (once per Flashblock) instead of every ~2 seconds. Three additional subscription types are also available: [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions), [`pendingLogs`](/base-chain/api-reference/flashblocks-api/pendingLogs), and [`newFlashblocks`](/base-chain/api-reference/flashblocks-api/newFlashblocks). - + +The public Base endpoints (`mainnet.base.org`, `sepolia.base.org`) are **HTTP only**. WebSocket connections are not available on public Base endpoints — use a [node provider](/base-chain/node-operators/node-providers) such as Alchemy or QuickNode that offers WebSocket support for Base. + ## Parameters @@ -33,8 +33,8 @@ Creates a real-time event subscription over a WebSocket connection. Returns a su | Type | Description | Notification payload | | --- | --- | --- | -| `newHeads` | Fires for each new block appended to the chain | Block header object (~200ms on Flashblocks endpoints) | -| `logs` | Fires for each new log matching filter criteria | Log object | +| `newHeads` | Fires for each new block appended to the chain | Full block header object — identical shape to [`eth_getBlockByNumber`](/base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber) with `hydrated: false` | +| `logs` | Fires for each new log matching filter criteria | Log object (see below) | | `newPendingTransactions` | Fires for each new transaction hash added to the mempool | Transaction hash string | ## Returns @@ -89,13 +89,30 @@ Event notifications arrive as unsolicited JSON-RPC messages: "params": { "subscription": "0x1887ec8b9589ccad00000000000532da", "result": { - "number": "0x12ced29", - "hash": "0x4b5e8c5d7f2b1a6e9d0c4f8b3e7a2d5c8f1b4e7a0d3c6f9b2e5a8d1c4f7b0e4", - "parentHash": "0x3a4e8c5d7f2b1a6e9d0c4f8b3e7a2d5c8f1b4e7a0d3c6f9b2e5a8d1c4f7b0e3", - "gasLimit": "0x1c9c380", - "gasUsed": "0xa410", - "timestamp": "0x6783a5d2", - "baseFeePerGas": "0x3b9aca00" + "baseFeePerGas": "0x4c4b40", + "blobGasUsed": "0x5384cc", + "difficulty": "0x0", + "excessBlobGas": "0x0", + "extraData": "0x01000000640000000500000000004c4b40", + "gasLimit": "0x17d78400", + "gasUsed": "0x2155bc7", + "hash": "0x491bca01d4bc076d60833dbd973fe031a74e7ae31866bf70d077619e09edb6ff", + "logsBloom": "0x00...00", + "miner": "0x4200000000000000000000000000000000000011", + "mixHash": "0x47aecef0e1afa26b8e1f428e9a8696cf53d85c62587d8c2cea079c715cd29626", + "nonce": "0x0000000000000000", + "number": "0x2c31b0b", + "parentBeaconBlockRoot": "0x15b9e7c8ac4cbe92dafc849ed30a23e91624bbe5cbe199c0ccea3f7de7fc6d49", + "parentHash": "0x89f4c9e23a2f706f0afa9ca8f770c4b7dcbcb73ba7e9b1c29c4a8c1b90c31d24", + "receiptsRoot": "0x5a428d77344334537d7adaf85a45eb6d7977bc807a68c669f36cb043600da6d2", + "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x1bb3b", + "stateRoot": "0x1b1525af0cdd504147b89f2a7ce1838ccb70c5439c45ce55522c2e2529801e87", + "timestamp": "0x6a1092f9", + "transactionsRoot": "0x6b9c9fcbdf98a8f4d38a3c16d099e9f0c7b7b474c2f5e044af7c91949c04a234", + "withdrawals": [], + "withdrawalsRoot": "0x57f4414a70a4af5e1a97b5fd8b8c6c870c00e8d9dbc0fde0059ce46e2cd28e5b" } } } @@ -108,18 +125,19 @@ Event notifications arrive as unsolicited JSON-RPC messages: "params": { "subscription": "0x2a7bc8d4e3f5a6b1c2d3e4f5a6b7c8d9", "result": { - "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", + "address": "0xef5997c2cf2f6c138196f8a6203afc335206b3c1", + "blockHash": "0xc104d3b3a4008d854c21f25ff41917e2bff0f0d28eacd348cc664b891d9db00c", + "blockNumber": "0x2c70f90", + "blockTimestamp": "0x6a187c03", + "data": "0x0000000000000000000000000000000000000000000000078e0cf33a1d658000", + "logIndex": "0x0", + "removed": false, "topics": [ - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "0x000000000000000000000000d3cda913deb6f4967b2ef66ae97de114a83bcc01", - "0x0000000000000000000000004200000000000000000000000000000000000006" + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "..." ], - "data": "0x0000000000000000000000000000000000000000000000000000000005f5e100", - "blockNumber": "0x12ced29", - "transactionHash": "0xc903239f...", - "blockHash": "0x4b5e8c5d...", - "logIndex": "0x0", - "removed": false + "transactionHash": "0x9efe32df11e30a345c5908ff4db248895c8e4b0d83c4d368fe14042ebbd3a130", + "transactionIndex": "0x2" } } } diff --git a/docs/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.mdx b/docs/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.mdx index 0af5bf30c..0c13fbb5a 100644 --- a/docs/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.mdx +++ b/docs/base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion.mdx @@ -6,6 +6,10 @@ description: 'Returns the current client version string.' Returns the version string of the node client software. + +This method is not available on all public endpoints. It returns `-32601 Method not found` on the Sepolia public node (`sepolia.base.org`) but works on mainnet. + + ## Parameters No parameters. @@ -13,7 +17,7 @@ No parameters. ## Returns - The client version string. + The client version string. Format: `/-//base/`. Do not rely on parsing this string as it changes with node software updates. ## Example @@ -32,7 +36,7 @@ No parameters. { "jsonrpc": "2.0", "id": 1, - "result": "op-reth/v1.1.0/linux-x86_64" + "result": "reth/v1.11.3-2ac58a2/x86_64-unknown-linux-gnu/base/v0.9.0" } ``` diff --git a/docs/base-chain/api-reference/flashblocks-api/base_transactionStatus.mdx b/docs/base-chain/api-reference/flashblocks-api/base_transactionStatus.mdx index 8948d629f..89280c761 100644 --- a/docs/base-chain/api-reference/flashblocks-api/base_transactionStatus.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/base_transactionStatus.mdx @@ -7,7 +7,7 @@ description: 'Checks whether a transaction is in the node mempool. Only availabl 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. -Only available on Flashblocks endpoints: `https://mainnet-preconf.base.org` / `https://sepolia-preconf.base.org`. +Only available on Flashblocks endpoints: `https://mainnet.base.org` / `https://sepolia.base.org`. @@ -36,7 +36,7 @@ Requires [base/base](https://github.com/base/base) minimum client version v0.3.0 ```bash cURL -curl https://mainnet-preconf.base.org \ +curl https://mainnet.base.org \ -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"base_transactionStatus","params":["0xabc123..."],"id":1}' ``` diff --git a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx b/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx index 18c24eccb..8c464acad 100644 --- a/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/eth_simulateV1.mdx @@ -7,7 +7,7 @@ description: 'Simulates one or more transaction bundles against the current pre- Simulates one or more transaction bundles against the current pre-confirmed Flashblock state. Supports state overrides, multi-block simulation, and optional transfer tracing. -Only available on Flashblocks endpoints: `https://mainnet-preconf.base.org` / `https://sepolia-preconf.base.org`. +Only available on Flashblocks endpoints: `https://mainnet.base.org` / `https://sepolia.base.org`. ## Parameters @@ -47,9 +47,17 @@ Only available on Flashblocks endpoints: `https://mainnet-preconf.base.org` / `h ## Returns - Array of simulated block results, one per entry in `blockStateCalls`. + Array of simulated block results, one per entry in `blockStateCalls`. Each entry is a full block object with a `calls` field embedded alongside standard block fields. + Simulated block number (hex). + Simulated block hash. + Parent block hash. + Block timestamp (hex). + Gas limit (hex). + Total gas used by the simulated calls (hex). + Base fee per gas (hex). + Always `"0x000...000"` — simulation does not commit state to the trie. Array of individual call results. @@ -68,7 +76,7 @@ Only available on Flashblocks endpoints: `https://mainnet-preconf.base.org` / `h ```bash cURL -curl https://sepolia-preconf.base.org \ +curl https://sepolia.base.org \ -X POST \ -H "Content-Type: application/json" \ -d '{ @@ -97,14 +105,42 @@ curl https://sepolia-preconf.base.org \ "id": 1, "result": [ { + "baseFeePerGas": "0x0", + "blobGasUsed": "0x39d0", "calls": [ { - "status": "0x1", "gasUsed": "0x5208", + "logs": [], "returnData": "0x", - "logs": [] + "status": "0x1" } - ] + ], + "difficulty": "0x0", + "excessBlobGas": "0x0", + "extraData": "0x01000000640000000500000000004c4b40", + "gasLimit": "0x17d78400", + "gasUsed": "0x5208", + "hash": "0x2f2f692821995e39653f63164b2d5d0e0bba66c86c2a199fd3009c0b9906c7b0", + "logsBloom": "0x000...000", + "miner": "0x4200000000000000000000000000000000000011", + "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x0000000000000000", + "number": "0x2c31c49", + "parentBeaconBlockRoot": "0x64e625f8bc74f78539f962aa09d522c63576ff6ad57170c668882d99e669ef52", + "parentHash": "0x9653660afa4fca3976a21d42ebf849c337e9840993f050fee3affc673a573bf8", + "receiptsRoot": "0xf78dfb743fbd92ade140711c8bbc542b5e307f0ab7984eff35d751969fe57efa", + "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", + "size": "0x2a6", + "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": "0x6a10957f", + "transactions": [ + "0xa401668a06b038c488c1abc013676dfe63fc645d182ece34d8b3f40f45689279" + ], + "transactionsRoot": "0x0b1328c457d7a8108ea9f2559142890491b680fdb691720b3d0c857c3d11002c", + "uncles": [], + "withdrawals": [], + "withdrawalsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000" } ] } diff --git a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx b/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx index e3c88fa5a..e057c88b4 100644 --- a/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/flashblocks-api-overview.mdx @@ -4,10 +4,10 @@ sidebarTitle: 'Overview' description: 'Flashblocks-specific RPC methods, WebSocket subscriptions, and the infrastructure stream schema for Base pre-confirmations.' --- -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. +All Base public endpoints (`mainnet.base.org` / `sepolia.base.org`) are Flashblocks-enabled, exposing 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. -All [standard Ethereum JSON-RPC methods](/base-chain/api-reference/rpc-overview) work identically on Flashblocks endpoints. Use the `"pending"` block tag to resolve against pre-confirmed state instead of the transaction pool. See the [Overview](/base-chain/api-reference/rpc-overview#what-is-the-flashblocks-tier) for endpoint URLs and a full explanation of the two tiers. +All [standard Ethereum JSON-RPC methods](/base-chain/api-reference/rpc-overview) support the `"pending"` block tag to resolve against pre-confirmed state instead of the transaction pool. See the [RPC Overview](/base-chain/api-reference/rpc-overview) for endpoint URLs. ## HTTP Methods @@ -79,6 +79,7 @@ Contains full block header properties. **Only present in the `index: 0` message* EIP-1559 base fee per gas (hex). Previous RANDAO value used for on-chain randomness. Arbitrary data field set by the sequencer. +Root of the parent beacon block (EIP-4788). ### Diff Object @@ -103,15 +104,17 @@ Contains the incremental block state changes for this specific Flashblock. Prese **The `metadata` object is not stable.** Fields may be added, modified, or removed without prior notice. Do not build production dependencies on it — use the [`diff`](#diff-object) object or query finalized block data via standard RPC instead. +As of v0.8.0, `new_account_balances` and `receipts` are no longer present in the `metadata` object. Only `block_number` remains. + Block number as a decimal integer. -Map of addresses to their updated ETH balances (hex). Only includes accounts whose balances changed in this Flashblock. -Map of transaction hashes to their [Receipt](#receipt-object) objects. ### Receipt Object -The abbreviated transaction receipt included in `metadata.receipts`. Check the `type` field to determine transaction type. + +`metadata.receipts` was removed in v0.8.0. This schema is preserved for reference for older node versions. On v0.8.0+, use [`eth_getTransactionReceipt`](/base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt) for polling-based receipt data, or subscribe to [`newFlashblockTransactions`](/base-chain/api-reference/flashblocks-api/newFlashblockTransactions) with `full: true` for a real-time stream of pre-confirmed transaction data including logs. + Transaction type: `0x0` Legacy, `0x1` Access List, `0x2` EIP-1559, `0x7e` Deposit (L1→L2). @@ -128,6 +131,13 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the ` Contract address that emitted the event. Array of indexed event parameters. Topic 0 is typically the event signature hash. ABI-encoded non-indexed event parameters. +Hash of the block containing this log. +Block number in hex. +Unix timestamp of the block as a hex string. OP Stack extension to the standard Ethereum log schema. +Hash of the transaction that emitted this log. +Index of the transaction in the block (hex). +Log's index position within the block (hex). +`true` if the log was removed due to a chain reorg. ### Complete Examples @@ -144,7 +154,8 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the ` "block_number": "0x158a0e9", "gas_limit": "0x3938700", "timestamp": "0x67bf8332", - "base_fee_per_gas": "0xfa" + "base_fee_per_gas": "0xfa", + "parent_beacon_block_root": "0x15b9e7c8ac4cbe92dafc849ed30a23e91624bbe5cbe199c0ccea3f7de7fc6d49" }, "diff": { "state_root": "0x208fd63edc0681161105f27d03daf9f8c726d8c94e584a3c0696c98291c24333", @@ -154,20 +165,7 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the ` "withdrawals": [] }, "metadata": { - "block_number": 22585577, - "new_account_balances": { - "0x000f3df6d732807ef1319fb7b8bb8522d0beac02": "0x0" - }, - "receipts": { - "0x07d7f06b06fea714c1d1d446efa2790c6970aa74ee006186a32b5b7dd8ca2d82": { - "type": "0x7e", - "status": "0x1", - "cumulativeGasUsed": "0xab3f", - "logs": [], - "logsBloom": "0x00000000...", - "transactionIndex": "0x0" - } - } + "block_number": 22585577 } } ``` @@ -186,20 +184,7 @@ The abbreviated transaction receipt included in `metadata.receipts`. Check the ` "withdrawals": [] }, "metadata": { - "block_number": 22585577, - "new_account_balances": { - "0x4200000000000000000000000000000000000015": "0x1234" - }, - "receipts": { - "0x7c69632dc315f13a...": { - "type": "0x2", - "status": "0x1", - "cumulativeGasUsed": "0x1234f", - "logs": [], - "logsBloom": "0x00000000...", - "transactionIndex": "0x1" - } - } + "block_number": 22585577 } } ``` diff --git a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx b/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx index 582955e5f..0dac07d40 100644 --- a/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx +++ b/docs/base-chain/api-reference/flashblocks-api/newFlashblockTransactions.mdx @@ -4,14 +4,14 @@ sidebarTitle: 'newFlashblockTransactions' description: 'Subscribe to receive each transaction as it is pre-confirmed into a Flashblock. Only available on Flashblocks WebSocket endpoints.' --- -Subscribe via `eth_subscribe` to receive each transaction as it is pre-confirmed into a Flashblock. Pass `true` as the second parameter to receive full transaction and log data. +Subscribe via `eth_subscribe` to receive each transaction as it is pre-confirmed into a Flashblock. Pass `true` as the second parameter to receive full transaction and receipt data. -Only available on Flashblocks WebSocket endpoints: `wss://mainnet-preconf.base.org` / `wss://sepolia-preconf.base.org`. +This subscription requires a WebSocket-enabled RPC endpoint. The public Base endpoints (`mainnet.base.org`, `sepolia.base.org`) are HTTP only. Use a [node provider](/base-chain/node-operators/node-providers) such as Alchemy or QuickNode that offers WebSocket support for Base. -Requires [base/base](https://github.com/base/base) minimum client version v0.3.1. +Requires [base/base](https://github.com/base/base) minimum client version v0.8.0. @@ -25,15 +25,58 @@ Each subscription emits **one item per WebSocket message**. Events arrive approx - If `true`, each notification includes the full transaction object and associated logs. Defaults to `false` (minimal data only). + If `true`, each notification includes the full transaction object with receipt fields embedded. Defaults to `false` (transaction hash only). ## Returns - Hex-encoded subscription ID. + Hex-encoded subscription ID returned on subscribe. +## Notifications + +Each notification is a standard `eth_subscription` message. The `params.result` field depends on the `full` parameter: + +**`full: false`** — `result` is the transaction hash: + +```json +"0xe26de91f9037e903eefe70b28f613019253da603e67e0dbfe2f656dce5444311" +``` + +**`full: true`** — `result` is a transaction object with receipt fields embedded directly (no nested receipt sub-object). Verified live against `base/v0.9.0`: + +Transaction type: `0x0` Legacy, `0x2` EIP-1559, `0x7e` Deposit. +Chain ID (hex). +Sender nonce (hex). +Gas limit (hex). +EIP-1559 max fee per gas (hex). +EIP-1559 max priority fee per gas (hex). +Recipient address. +ETH value transferred (hex). +EIP-2930 access list. +Transaction input data (hex). +Signature r component. +Signature s component. +Signature parity (hex). +Signature v value (hex). +Transaction hash. +Always `null` — transaction is pre-confirmed, not yet in a finalized block. +Block number (hex) of the in-progress Flashblock. +Index within the block (hex). +Sender address. +Effective gas price (hex). +Gas used by this transaction (hex). **Note:** changed from integer to hex string in v0.8.0. +`0x1` for success, `0x0` for failure. +Total gas used in the block up to and including this transaction (hex). +Address of the created contract, or `null`. +Bloom filter of logs (hex). +Array of log objects emitted by this transaction. + + +`gasUsed` is a hex string (e.g. `"0x26132"`), not an integer. This changed in v0.8.0 — update any parsers that expect a numeric value. + + ## Example @@ -48,4 +91,53 @@ Each subscription emits **one item per WebSocket message**. Events arrive approx ```json Subscription ID Response {"jsonrpc": "2.0", "id": 1, "result": "0x1887ec8b9589ccad00000000000532da"} ``` + +```json Notification (full: false) +{ + "jsonrpc": "2.0", + "method": "eth_subscription", + "params": { + "subscription": "0x1887ec8b9589ccad00000000000532da", + "result": "0xe26de91f9037e903eefe70b28f613019253da603e67e0dbfe2f656dce5444311" + } +} +``` + +```json Notification (full: true) +{ + "jsonrpc": "2.0", + "method": "eth_subscription", + "params": { + "subscription": "0x1887ec8b9589ccad00000000000532da", + "result": { + "type": "0x2", + "chainId": "0x2105", + "nonce": "0x34ed", + "gas": "0x7a1200", + "maxFeePerGas": "0x257ab3c", + "maxPriorityFeePerGas": "0x419c7c", + "to": "0x6211a3742cf9d3b6677ecc7fd9dd102ab101d8e2", + "value": "0x0", + "accessList": [], + "input": "0x...", + "r": "0xa7cd30d21c30d4d60d27073c8bbc3ef5778527cf98eae0433e9d1f18c929dd5d", + "s": "0x08c75921e6bb75e19112300f80998f88a2b0f1adc52df2c3597b171d8c8de68d", + "yParity": "0x1", + "v": "0x1", + "hash": "0x6a010a5ce041ff0ee5a926db65d1ef512836cae822d5f2d58b63981bfa40aa7f", + "blockHash": null, + "blockNumber": "0x2c679a1", + "transactionIndex": "0x83", + "from": "0x2ad149d3d3099532d7c25c47cce37db6c4677b3a", + "gasPrice": "0x8de7bc", + "gasUsed": "0x26132", + "status": "0x1", + "cumulativeGasUsed": "0x16cb406", + "contractAddress": null, + "logsBloom": "0x00...00", + "logs": [] + } + } +} +``` diff --git a/docs/base-chain/api-reference/rpc-overview.mdx b/docs/base-chain/api-reference/rpc-overview.mdx index 688e56fcb..25dc9aa94 100644 --- a/docs/base-chain/api-reference/rpc-overview.mdx +++ b/docs/base-chain/api-reference/rpc-overview.mdx @@ -17,16 +17,14 @@ Base exposes a single, fully EVM-compatible JSON-RPC API across two performance - | Tier | HTTP | WSS | - | :--- | :--- | :--- | - | Standard | `https://mainnet.base.org` | `wss://mainnet.base.org` | - | Flashblocks | `https://mainnet-preconf.base.org` | `wss://mainnet-preconf.base.org` | + | | HTTP | + | :--- | :--- | + | RPC | `https://mainnet.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` | + | | HTTP | + | :--- | :--- | + | RPC | `https://sepolia.base.org` | @@ -34,12 +32,13 @@ Base exposes a single, fully EVM-compatible JSON-RPC API across two performance The public endpoints above are rate-limited and not suitable for production traffic. For production use, connect through a [node provider](/base-chain/node-operators/node-providers). -## What is the Flashblocks Tier? + +The public Base endpoints are **HTTP only**. WebSocket RPC connections (`eth_subscribe`, `newHeads`, `logs`) are not available on public Base endpoints — use a [node provider](/base-chain/node-operators/node-providers) such as Alchemy or QuickNode for WebSocket support. + -Flashblocks endpoints are fully EVM-equivalent; every standard `eth_` method works identically. The difference is in what the `pending` block tag returns: +## Flashblocks -- On **Standard** endpoints, `pending` reflects the transaction pool (unmined state). -- On **Flashblocks** endpoints, `pending` reflects the current **pre-confirmed block in progress**, updated every ~200ms with new batches of sequencer-ordered transactions. +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. @@ -47,10 +46,10 @@ Calls like `eth_getBalance`, `eth_getStorageAt`, and `eth_call` run against real ### Ethereum JSON-RPC API -Core Ethereum protocol methods for account queries, block and transaction data, gas estimation, and log filtering. All methods work on both Standard and Flashblocks endpoints. +Core Ethereum protocol methods for account queries, block and transaction data, gas estimation, and log filtering. -Methods marked ✓ support the `"pending"` block tag on Flashblocks endpoints. +Methods marked ✓ support the `"pending"` block tag, which reflects the current pre-confirmed Flashblock in progress. | Method | Description | Flashblocks `pending` | @@ -85,7 +84,7 @@ Methods marked ✓ support the `"pending"` block tag on Flashblocks endpoints. ### Flashblocks API -Pre-confirmation methods for sub-second transaction signals on Base. These methods are only available on Flashblocks endpoints and enable reading state, simulating bundles, and streaming events up to ~1.8 seconds before a block seals. +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 | | --- | --- | diff --git a/docs/base-chain/flashblocks/app-integration.mdx b/docs/base-chain/flashblocks/app-integration.mdx index 9c3b3c890..d7b417fe8 100644 --- a/docs/base-chain/flashblocks/app-integration.mdx +++ b/docs/base-chain/flashblocks/app-integration.mdx @@ -168,7 +168,7 @@ console.log(`Time difference: ${confirmTime - submissionTime}ms`); ```jsx const providerA = new ethers.JsonRpcProvider( - "https://sepolia-preconf.base.org" + "https://sepolia.base.org" ); const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, providerA); diff --git a/docs/base-chain/flashblocks/faq.mdx b/docs/base-chain/flashblocks/faq.mdx index 84afdaabe..c07f4264c 100644 --- a/docs/base-chain/flashblocks/faq.mdx +++ b/docs/base-chain/flashblocks/faq.mdx @@ -118,7 +118,7 @@ For a comprehensive introduction to how Flashblocks work, see the [Flashblocks O ## RPC - + The public endpoint has explicit rate limiting. For production use: - Use a third-party node provider with Flashblocks support (Alchemy, Infura, QuickNode, dRPC) diff --git a/docs/base-chain/llms-full.txt b/docs/base-chain/llms-full.txt index 1e00fd85b..4cd394078 100644 --- a/docs/base-chain/llms-full.txt +++ b/docs/base-chain/llms-full.txt @@ -184,7 +184,7 @@ Sources: - Overview: Flashblocks provide sub-200ms preconfirmed block state on Base, enabling lower-latency reads and faster transaction confirmation signals. - Ecosystem: Review apps that make use of Flashblocks‑related infra and the node providers who support relevant capabilities. - When to consider: High‑frequency reads/writes, market‑sensitive UX, or services where propagation and data freshness are critical. -- Integration: Connect to `mainnet-preconf.base.org` (or `sepolia-preconf.base.org`); use `"pending"` block tag to query preconfirmed state. Follow provider documentation and the Flashblocks docs for setup and operational guidance. +- Integration: Connect to `mainnet.base.org` (or `sepolia.base.org`); use `"pending"` block tag to query preconfirmed state. Follow provider documentation and the Flashblocks docs for setup and operational guidance. - Validation: Measure end‑to‑end latency and consistency across providers as part of your rollout plan. Simple latency probe (conceptual): diff --git a/docs/base-chain/network-information/troubleshooting-transactions.mdx b/docs/base-chain/network-information/troubleshooting-transactions.mdx index 275fa3d57..01866191b 100644 --- a/docs/base-chain/network-information/troubleshooting-transactions.mdx +++ b/docs/base-chain/network-information/troubleshooting-transactions.mdx @@ -93,8 +93,8 @@ To get the fastest possible confirmation, use a Flashblocks-aware RPC endpoint: | Network | Flashblocks RPC | |---------|-----------------| -| Mainnet | `https://mainnet-preconf.base.org` | -| Sepolia | `https://sepolia-preconf.base.org` | +| Mainnet | `https://mainnet.base.org` | +| Sepolia | `https://sepolia.base.org` | These endpoints return transaction receipts as soon as a transaction is included in a Flashblock, rather than waiting for the full L2 block. diff --git a/docs/base-chain/quickstart/connecting-to-base.mdx b/docs/base-chain/quickstart/connecting-to-base.mdx index 17e708dfe..d3d326288 100644 --- a/docs/base-chain/quickstart/connecting-to-base.mdx +++ b/docs/base-chain/quickstart/connecting-to-base.mdx @@ -9,8 +9,7 @@ description: Documentation about Base Mainnet and Base Testnet. This page covers | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------ | | Network Name | Base Mainnet | | Description | The public mainnet for Base. | -| RPC Endpoint | [https://mainnet.base.org](https://mainnet.base.org)
_Rate limited and not for production systems._ | -| Flashblocks RPC Endpoint | [ https://mainnet-preconf.base.org]( https://mainnet-preconf.base.org)
_Rate limited and not for production systems._ | +| RPC Endpoint | [https://mainnet.base.org](https://mainnet.base.org)
_Flashblocks-enabled. Rate limited and not for production systems._ | | Chain ID | 8453 | | Currency Symbol | ETH | | Block Explorer | [https://base.blockscout.com/](https://base.blockscout.com/) | @@ -21,8 +20,7 @@ description: Documentation about Base Mainnet and Base Testnet. This page covers | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------ | | Network Name | Base Sepolia | | Description | A public testnet for Base. | -| RPC Endpoint | [https://sepolia.base.org](https://sepolia.base.org)
_Rate limited and not for production systems._ | -| Flashblocks RPC Endpoint | [ https://sepolia-preconf.base.org]( https://sepolia-preconf.base.org)
_Rate limited and not for production systems._ | +| RPC Endpoint | [https://sepolia.base.org](https://sepolia.base.org)
_Flashblocks-enabled. Rate limited and not for production systems._ | | Chain ID | 84532 | | Currency Symbol | ETH | | Block Explorer | [https://sepolia-explorer.base.org](https://sepolia-explorer.base.org) | diff --git a/docs/docs.json b/docs/docs.json index 944eda20c..484aec73e 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -147,32 +147,32 @@ "group": "Ethereum JSON-RPC API", "pages": [ "base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", "base-chain/api-reference/ethereum-json-rpc-api/eth_call", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", + "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", + "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", + "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", + "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt", - "base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", - "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", "base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", - "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", - "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", + "base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", + "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", "base-chain/api-reference/ethereum-json-rpc-api/eth_syncing", + "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe", "base-chain/api-reference/ethereum-json-rpc-api/net_version", - "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion", - "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", - "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe" + "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion" ] }, {