RPC method

eth_getBalance on opBNB

Supported on SwiftNodes

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.

Unitwei 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 routingabout 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_getBalance on other chains

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.