Since Denim, Base produces a canonical block every 200ms and Flashblocks are retired. The
"pending" tag is still accepted, but it no longer returns Flashblocks preconfirmation state. Use "latest" for the newest canonical state. See Migrate From Flashblocks.Parameters
string
required
The 20-byte address to query.
string
required
Block number in hex, or
"latest", "pending", "safe", "finalized", "earliest".Returns
string
The balance in wei as a hexadecimal string.
Example
Read Balances for Many Addresses
eth_getBalance returns the balance of one address per call. To produce a balance snapshot across a set of addresses, such as every wallet your platform operates:
- Keep your own address list. Base has no registry that maps addresses to the organization that controls them, so the list comes from your own records, for example the accounts your wallet or custody provider created for you.
- Pin one block number. Read every balance at the same block so the snapshot reflects a single chain state. For reports, look up the
finalizedblock witheth_getBlockByNumberand pass its number to every read. - Batch the reads. Call
aggregate3on theMulticall3preinstall at0xcA11bde05977b3631167028862bE2a173976CA11witheth_callat the pinned block. In the batch, use Multicall3’s owngetEthBalance(address)for ETH and each token contract’sbalanceOf(address)for ERC-20 balances.
A balance snapshot is a set of RPC reads, not an attestation. Base does not provide a service that attests, audits, or certifies balances across an organization’s wallets.