RPC method

eth_getBalance on Blast

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getBalance on Blast 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 Blast: what we measured

The zero address held 5.05 ETH on Blast 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 Blast 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 1,000,000 blocks need historical state. Add &archive=1 to the URL to route those reads to archive nodes.

Unitwei of ETH (1 ETH = 10^18 wei)
Balance of 0x0000…0000 (zero address)5.05 ETH
Balance of 0x…dEaD (burn address)0.030513 ETH
Block given by hash (EIP-1898)accepted
History on default routingabout the last 1,000,000 blocks
Older blocks (archive=1)available on paid plans

Example request

curl -s https://rpc.swiftnodes.io/rpc/blast?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/blast?key=YOUR_API_KEY"),
});

const wei = await client.getBalance({ address: "0x000000000000000000000000000000000000dEaD" });
console.log(formatEther(wei), "ETH");

// At a past block (older than the default window: add &archive=1 to the URL)
const then = await client.getBalance({ address: "0x000000000000000000000000000000000000dEaD", blockNumber: 41541533n });

// Many balances in one request: Multicall3 is deployed on Blast
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 Blast

eth_getBalance on other chains

Frequently asked questions

Does Blast support eth_getBalance?

Yes. eth_getBalance answered on the SwiftNodes Blast endpoint when our weekly probe called it through the customer path (2026-10-13).

What unit does eth_getBalance return on Blast?

Wei of ETH, as a hex string: divide by 10^18 for ETH. viem's formatEther does this.

Can I get historical balances on Blast?

Default routing keeps about 1,000,000 blocks of state. Older balances work with &archive=1 on paid plans.

Blast endpoints, live block height and WebSocket status are on the Blast RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.