eth_blockNumber on opBNB
Everything below was measured on 2026-10-13 by calling eth_blockNumber on opBNB through the same endpoint customers use, and is re-measured weekly.
What eth_blockNumber does
Returns the number of the most recent block the node has, as a hex string. It is the cheapest way to tell whether a node is keeping up and the usual starting point for polling a chain.
eth_blockNumber on opBNB: what we measured
| Head block when measured | 195,110,742 (0xba12756) |
|---|---|
| Age of that block when read | 1 s |
| Average block time (last 1,000 blocks) | 250 ms |
| Median gap between newHeads over WebSocket | 192 ms |
| "safe" behind the head | 102 blocks (about 26 s) |
| "finalized" behind the head | 110 blocks (about 28 s) |
What this means for polling
opBNB produces a block about every 250 ms, so a client that polls eth_blockNumber once a second sees the number jump by about 4 each time. If you need every block, subscribe to newHeads over WebSocket (see eth_subscribe on opBNB) or fetch the skipped range with eth_getBlockByNumber.
The number eth_blockNumber returns is the newest block, which can still change in a reorg. On opBNB, "finalized" was 110 blocks (about 28 s) behind it and "safe" 102 blocks behind. Use eth_getBlockByNumber("finalized") when you need a height that will not change.
Compared with other chains
Measured by the gap between WebSocket headers, opBNB has the 1st fastest block cadence of the 40 chains we measure.
Example request
curl -s https://rpc.swiftnodes.io/rpc/opbnb?key=YOUR_API_KEY \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/opbnb?key=YOUR_API_KEY"),
});
const head = await client.getBlockNumber(); // bigint
// Follow the chain: poll about once per block (250 ms on opBNB)
const unwatch = client.watchBlockNumber({
pollingInterval: 250,
onBlockNumber: (n) => console.log("new head", n),
});Other methods on opBNB
- eth_chainIdSupported
- eth_getBalanceSupported
- eth_getBlockByNumberSupported
- 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_blockNumber on other chains
- Ethereum
- Base
- Arbitrum
- Optimism
- Polygon
- BNB Smart Chain
- 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
- Mode
- Flare
- Core
- Chiliz
- Telos EVM
- Tempo
- Cronos
- Manta Pacific
- Shibarium
- Boba Network
- Arbitrum Nova
- Immutable zkEVM
Frequently asked questions
Does opBNB support eth_blockNumber?
Yes. eth_blockNumber answered on the SwiftNodes opBNB endpoint when our weekly probe called it through the customer path (2026-10-13).
How fast are blocks on opBNB?
About 250 ms per block, averaged over recent blocks (measured 2026-10-13).
How often should I poll eth_blockNumber on opBNB?
Polling cannot keep up with 250 ms blocks; subscribe to newHeads over WebSocket instead.
opBNB endpoints, live block height and WebSocket status are on the opBNB RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.