eth_getBalance on opBNB
Everything below was measured on 2026-10-13 by calling eth_getBalance on opBNB through the same endpoint customers use, and is re-measured weekly.
What eth_getBalance does
Returns an account's balance of the chain's native token in wei (the smallest unit, 10^-18), at a given block. It works for contracts as well as wallets; ERC-20 balances need eth_call to the token's balanceOf instead.
eth_getBalance on opBNB: what we measured
The zero address held 4.36 BNB on opBNB when we measured. On most chains a zero-address balance is funds sent there by mistake or burned; either way it differs from chain to chain, so reading it is a quick sanity test that your client is talking to opBNB and not another network.
You can pin a read to an exact block with {"blockHash": "0x..."} (EIP-1898). Unlike a block number, a hash fails loudly if that block was reorganised away.
Balances at blocks older than about 64 blocks need historical state. Archive routing did not measure as available for this chain.
| Unit | wei of BNB (1 BNB = 10^18 wei) |
|---|---|
| Balance of 0x0000…0000 (zero address) | 4.36 BNB |
| Balance of 0x…dEaD (burn address) | 0.054874 BNB |
| Block given by hash (EIP-1898) | accepted |
| History on default routing | about the last 64 blocks |
| Older blocks (archive=1) | not measured as available |
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_getBalance","params":["0x000000000000000000000000000000000000dEaD","latest"]}'import { createPublicClient, formatEther, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/opbnb?key=YOUR_API_KEY"),
});
const wei = await client.getBalance({ address: "0x000000000000000000000000000000000000dEaD" });
console.log(formatEther(wei), "BNB");
// At a past block
const then = await client.getBalance({ address: "0x000000000000000000000000000000000000dEaD", blockNumber: 195109742n });
// Many balances in one request: Multicall3 is deployed on opBNB
const balances = await client.multicall({
contracts: addresses.map((a) => ({ address: "0xcA11bde05977b3631167028862bE2a173976CA11", abi: [{ name: "getEthBalance", type: "function", stateMutability: "view", inputs: [{ type: "address" }], outputs: [{ type: "uint256" }] }], functionName: "getEthBalance", args: [a] })),
});Other methods on opBNB
- eth_blockNumberSupported
- eth_chainIdSupported
- 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_getBalance 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_getBalance?
Yes. eth_getBalance answered on the SwiftNodes opBNB endpoint when our weekly probe called it through the customer path (2026-10-13).
What unit does eth_getBalance return on opBNB?
Wei of BNB, as a hex string: divide by 10^18 for BNB. viem's formatEther does this.
Can I get historical balances on opBNB?
Default routing keeps about 64 blocks of state. Older balances did not measure as available.
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.