RPC method

eth_getBlockByNumber on Base

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getBlockByNumber on Base through the same endpoint customers use, and is re-measured weekly.

What eth_getBlockByNumber does

Returns a block by number or tag (latest, safe, finalized, pending, earliest): the header, and either the transaction hashes or the full transactions. Indexers, explorers and wallets use it to follow the chain.

eth_getBlockByNumber on Base: what we measured

Header fields26
Transactions per block197, 197, 174, 221, 178 in five consecutive blocks
Response size, full transactions (true)384.9 KB average
Response size, hashes only (false)12.6 KB
Gas limit400,000,000
Gas used in the latest block50,586,407 (12.6% of the limit)
Base fee0.00500 gwei
Tag "safe"block 52,552,361
Tag "finalized"block 52,551,928
Tag "pending"block 52,552,421
Tag "earliest"block 51,000,000

What is different on Base

The header includes the fields added by London (EIP-1559 base fee), Shanghai (withdrawals), Cancun (EIP-4844 blob gas), Cancun (EIP-4788 beacon root), Prague (EIP-7685 requests). Code that assumes Ethereum's current header shape will parse it as is.

Asking for full transactions (second parameter true) made the response 30.6 times larger than hashes only. If you need only some transactions, fetch hashes and request those transactions or their receipts individually.

5 of the 967 transactions in those five blocks were system transactions (5 × type 0x7e, L1-to-L2 deposit (OP Stack)). They are not user activity: filter them out when counting transactions.

"finalized" was 491 blocks (about 16 min) behind the head.

A real Base block header

From block 52,552,417, as our endpoint returned it (long hex values shortened).

{
  "hash": "0x1d6457238217f618ca73e43e67b57e449ae44ed8d5a064c49139b4e79f745024",
  "parentHash": "0x83e088f640d3563007ea0cfa1db254dedffc0ac4fd904b28fc3d2b419142e3ca",
  "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "miner": "0x4200000000000000000000000000000000000011",
  "stateRoot": "0x6149b5f8670c1f3652fb4a9ffda2dfd088cd835f746885f6135a5e20e47da272",
  "transactionsRoot": "0x15d87e9896fd6001bf2c36accf9537883321350d06dcd5dad8606816377527ed",
  "receiptsRoot": "0xd3bf557b0bf39e2d44d76ccbea0c894f3f6b970340c2a9f9800215bb8bf877d5",
  "logsBloom": "0x06ab57275f2f5669…(256 bytes)",
  "difficulty": "0x0",
  "number": "0x321e2e1",
  "gasLimit": "0x17d78400",
  "gasUsed": "0x303e327",
  "timestamp": "0x6ace22a3",
  "extraData": "0x01000000640000000500000000004c4b40",
  "mixHash": "0xed780e0cca0c75aa5f860ad57458d2f507bf47196c2ea1c0d82ef1df60a8dffb",
  "nonce": "0x0000000000000000",
  "baseFeePerGas": "0x4c4b40",
  "withdrawalsRoot": "0x131a15b14386fc689fdcccb8a3c0936ec773aa5a683a45b6914844f744231444",
  "blobGasUsed": "0x5dea7c",
  "excessBlobGas": "0x0",
  "parentBeaconBlockRoot": "0x2a83bd3f1e73b01e46035cb43d9439e4941d0c4e313168a71e10e79cd0e44804",
  "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "size": "0x1f82c",
  "uncles": [],
  "transactions": "197 transactions",
  "withdrawals": []
}

Example request

curl -s https://rpc.swiftnodes.io/rpc/base?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["latest",false]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.swiftnodes.io/rpc/base?key=YOUR_API_KEY"),
});

// Header plus transaction hashes (12.6 KB)
const block = await client.getBlock({ blockTag: "latest" });

// With full transactions (384.9 KB on average on Base)
const full = await client.getBlock({ blockNumber: block.number, includeTransactions: true });
const userTxs = full.transactions.filter((t) => !["0x7e"].includes(t.typeHex));

// A block that will not be reorganised
const final = await client.getBlock({ blockTag: "finalized" });

Other methods on Base

eth_getBlockByNumber on other chains

Frequently asked questions

Does Base support eth_getBlockByNumber?

Yes. eth_getBlockByNumber answered on the SwiftNodes Base endpoint when our weekly probe called it through the customer path (2026-10-13).

How many transactions are in each Base block?

In five consecutive blocks on 2026-10-13: 197, 197, 174, 221, 178.

Base endpoints, live block height and WebSocket status are on the Base RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.