eth_getBlockByNumber on BNB Smart Chain
Everything below was measured on 2026-10-13 by calling eth_getBlockByNumber on BNB Smart Chain 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 BNB Smart Chain: what we measured
| Header fields | 28 (1 beyond the Ethereum set) |
|---|---|
| Transactions per block | 92, 71, 74, 73, 78 in five consecutive blocks |
| Response size, full transactions (true) | 144.2 KB average |
| Response size, hashes only (false) | 8.5 KB |
| Gas limit | 70,000,000 |
| Gas used in the latest block | 18,282,378 (26.1% of the limit) |
| Base fee | 0 wei |
| Tag "safe" | block 127,401,937 |
| Tag "finalized" | block 127,401,939 |
| Tag "pending" | block 127,401,943 |
| Tag "earliest" | block 127,390,000 |
What is different on BNB Smart Chain
BNB Smart Chain blocks carry a field that Ethereum blocks do not. milliTimestamp: specific to this chain's node software, not part of the Ethereum JSON-RPC specification. Strict schema validators need to allow it.
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 17.0 times larger than hashes only. If you need only some transactions, fetch hashes and request those transactions or their receipts individually.
A real BNB Smart Chain block header
From block 127,401,926, as our endpoint returned it (long hex values shortened).
{
"hash": "0x2861492aecb5f68fd8e5791a70fcc23494fd41d4517ad6b140c69667c049e7b5",
"parentHash": "0xdad479f27e327f369abcbf35b329ceffba9f18c64a7bed47db6aed660091b42a",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"miner": "0xbdcc079bbb23c1d9a6f36aa31309676c258abac7",
"stateRoot": "0xba54136f48deeec4ba5a702fb32048e6e66c769f131c80d7b64c6926118f2960",
"transactionsRoot": "0x8c7de97254e5b0589af1b9c478b0e48a9067bff37eb88ad4a09b7f7caafba39d",
"receiptsRoot": "0x3a99009bbce10cc3fd3d8832b4e236b57952063d0291efda900ae8ed52d14a81",
"logsBloom": "0xe3ff1efbb5febcbb…(256 bytes)",
"difficulty": "0x2",
"number": "0x797ffc6",
"gasLimit": "0x42c1d80",
"gasUsed": "0x116f78a",
"timestamp": "0x6ace2274",
"extraData": "0xdb83010708886364…(280 bytes)",
"mixHash": "0x00000000000000000000000000000000000000000000000000000000000002bc",
"nonce": "0x0000000000000000",
"baseFeePerGas": "0x0",
"withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"blobGasUsed": "0x0",
"excessBlobGas": "0x0",
"parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"requestsHash": "0x00000000000000000000000248b4bbebf0655557a461e91b8905b85864b8bb48",
"totalDifficulty": "0xf270f8f",
"size": "0x13ca6",
"milliTimestamp": "0x1a1353697dc",
"uncles": [],
"transactions": "92 transactions",
"withdrawals": []
}Example request
curl -s https://rpc.swiftnodes.io/rpc/bsc?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/bsc?key=YOUR_API_KEY"),
});
// Header plus transaction hashes (8.5 KB)
const block = await client.getBlock({ blockTag: "latest" });
// With full transactions (144.2 KB on average on BNB Smart Chain)
const full = await client.getBlock({ blockNumber: block.number, includeTransactions: true });
// A block that will not be reorganised
const final = await client.getBlock({ blockTag: "finalized" });Other methods on BNB Smart Chain
- eth_blockNumberSupported
- eth_chainIdSupported
- eth_getBalanceSupported
- eth_getTransactionByHashSupported
- eth_getTransactionReceiptSupported
- eth_callSupported
- eth_estimateGasSupported
- eth_gasPriceSupported
- eth_maxPriorityFeePerGasSupported
- eth_sendRawTransactionSupported
- eth_getTransactionCountSupported
- eth_getCodeSupported
- eth_subscribeSupported
- eth_getLogsSupported
- eth_getBlockReceiptsSupported
- eth_feeHistorySupported
- eth_getProofSupported
- eth_createAccessListSupported
- debug_traceCallSupported
- trace_blockSupported
- trace_transactionNot available
eth_getBlockByNumber on other chains
- Ethereum
- Base
- Arbitrum
- Optimism
- Polygon
- Avalanche
- Sonic
- Linea
- Scroll
- zkSync Era
- Blast
- Mantle
- Gnosis
- Celo
- Berachain
- Monad
- Unichain
- Kaia
- PulseChain
- World Chain
- Ronin
- Abstract
- ApeChain
- MegaETH
- Fantom
- Lisk
- Hemi
- X Layer
- BOB
- Plasma
- Fraxtal
- Zora
- Story
- Soneium
- Sei
- Hyperliquid
- Taiko
- Morph
- Ink
- Katana
- Ethereum Classic
- opBNB
- Mode
- Flare
- Core
- Chiliz
- Telos EVM
- Tempo
- Cronos
- Manta Pacific
- Shibarium
- Boba Network
- Arbitrum Nova
- Immutable zkEVM
Frequently asked questions
Does BNB Smart Chain support eth_getBlockByNumber?
Yes. eth_getBlockByNumber answered on the SwiftNodes BNB Smart Chain endpoint when our weekly probe called it through the customer path (2026-10-13).
How many transactions are in each BNB Smart Chain block?
In five consecutive blocks on 2026-10-13: 92, 71, 74, 73, 78.
What are milliTimestamp in a BNB Smart Chain block?
milliTimestamp is not part of the Ethereum JSON-RPC specification; added by this chain's node software.
BNB Smart Chain endpoints, live block height and WebSocket status are on the BNB Smart Chain RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.