eth_blockNumber on Immutable zkEVM
Everything below was measured on 2026-10-13 by calling eth_blockNumber on Immutable zkEVM 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 Immutable zkEVM: what we measured
| Head block when measured | 44,806,423 (0x2abb117) |
|---|---|
| Age of that block when read | 0 s |
| Average block time (last 1,000 blocks) | 2.0 s |
| "safe" behind the head | not available (safe block not found) |
| "finalized" behind the head | not available (finalized block not found) |
What this means for polling
At 2.0 s per block, a one-second poll returns a new number on roughly one call in 2. Polling at the block time keeps you current without wasting requests.
Example request
curl -s https://rpc.swiftnodes.io/rpc/immutable-zkevm?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/immutable-zkevm?key=YOUR_API_KEY"),
});
const head = await client.getBlockNumber(); // bigint
// Follow the chain: poll about once per block (2.0 s on Immutable zkEVM)
const unwatch = client.watchBlockNumber({
pollingInterval: 2000,
onBlockNumber: (n) => console.log("new head", n),
});Other methods on Immutable zkEVM
- 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_subscribeNot available
- eth_getLogsSupported
- eth_getBlockReceiptsSupported
- eth_feeHistorySupported
- eth_getProofSupported
- eth_createAccessListSupported
- debug_traceCallSupported
- trace_blockNot available
- 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
- opBNB
- Mode
- Flare
- Core
- Chiliz
- Telos EVM
- Tempo
- Cronos
- Manta Pacific
- Shibarium
- Boba Network
- Arbitrum Nova
Frequently asked questions
Does Immutable zkEVM support eth_blockNumber?
Yes. eth_blockNumber answered on the SwiftNodes Immutable zkEVM endpoint when our weekly probe called it through the customer path (2026-10-13).
How fast are blocks on Immutable zkEVM?
About 2.0 s per block, averaged over recent blocks (measured 2026-10-13).
How often should I poll eth_blockNumber on Immutable zkEVM?
About once per block, every 2.0 s. Faster polling mostly returns the same number.
Immutable zkEVM endpoints, live block height and WebSocket status are on the Immutable zkEVM RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.