RPC method

eth_getBlockByNumber on Katana

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getBlockByNumber on Katana 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 Katana: what we measured

Header fields26
Transactions per block1, 1, 1, 1, 1 in five consecutive blocks
Response size, full transactions (true)2.7 KB average
Response size, hashes only (false)1.8 KB
Gas limit120,000,000
Gas used in the latest block46,266 (0.039% of the limit)
Base fee0.00100 gwei
Tag "safe"block 45,152,212
Tag "finalized"block 45,151,378
Tag "pending"block 45,152,680
Tag "earliest"block 0

What is different on Katana

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.

5 of the 5 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 1,300 blocks (about 22 min) behind the head.

A real Katana block header

From block 45,152,671, as our endpoint returned it (long hex values shortened).

{
  "baseFeePerGas": "0xf4240",
  "blobGasUsed": "0x0",
  "difficulty": "0x0",
  "excessBlobGas": "0x0",
  "extraData": "0x01000000320000000600000000000f4240",
  "gasLimit": "0x7270e00",
  "gasUsed": "0xb4ba",
  "hash": "0xb09df6e9fa3a5029622ec24137a8e968f98e4d677d469f54e9f77bff82136dce",
  "logsBloom": "0x0000000000000000…(256 bytes)",
  "miner": "0x4200000000000000000000000000000000000011",
  "mixHash": "0x779f5f109e5c686d6d0ca79c0ad71adaba5e03f12104c555ec3ee62dfa4cc7ee",
  "nonce": "0x0000000000000000",
  "number": "0x2b0f99f",
  "parentBeaconBlockRoot": "0xa8c4615222764b7e1a5c90266cade0983fcd87153573d53449e969a97a415cbd",
  "parentHash": "0x24d717e2f1e3a0ba33d3fb6264aee93df8041cb89c3b9a2a23402a5a041f4937",
  "receiptsRoot": "0x805c0432a51f2debb59ab7f10814f4ae61265d60469cfcb91833b6c8f93ee343",
  "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "size": "0x38d",
  "stateRoot": "0xf15c9c1d777ef273cbed061434913895453f59b72cbcf5448c62dbc7179bb04d",
  "timestamp": "0x6ace27ba",
  "transactions": "1 transactions",
  "transactionsRoot": "0x75da331a0a4d3ad05eb771fd93f088cc049788d116fdf11a61c8e2b69a1192ed",
  "uncles": [],
  "withdrawals": [],
  "withdrawalsRoot": "0x2efab7d25aded3b12ef7639ec3a5bc0bafd507da1ff2d44e761b443ebada9931"
}

Example request

curl -s https://rpc.swiftnodes.io/rpc/katana?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/katana?key=YOUR_API_KEY"),
});

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

// With full transactions (2.7 KB on average on Katana)
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 Katana

eth_getBlockByNumber on other chains

Frequently asked questions

Does Katana support eth_getBlockByNumber?

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

How many transactions are in each Katana block?

In five consecutive blocks on 2026-10-13: 1, 1, 1, 1, 1.

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

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