RPC method

eth_getBalance on Ethereum Classic

Supported on SwiftNodes

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

The zero address held 12,688 ETC on Ethereum Classic 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 Ethereum Classic and not another network.

Passing a block as {"blockHash": ...} (EIP-1898) failed on Ethereum Classic: "Unknown state. First available state is 1". Pass the block number in hex instead.

Unitwei of ETC (1 ETC = 10^18 wei)
Balance of 0x0000…0000 (zero address)12,688 ETC
Balance of 0x…dEaD (burn address)1.41 ETC
Block given by hash (EIP-1898)rejected: Unknown state. First available state is 1
Older blocks (archive=1)available on paid plans

Example request

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

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

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

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

eth_getBalance on other chains

Frequently asked questions

Does Ethereum Classic support eth_getBalance?

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

What unit does eth_getBalance return on Ethereum Classic?

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

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

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