The same token's balance for one address across multiple EVM chains, in a single call.
USDC (and similar assets) has a DIFFERENT contract address on every chain; checking a wallet's total position means resolving each chain's canonical address and querying it separately. This does that and sums the total, so a multi-chain treasury view does not require N separate calls.
Supported chains: base, ethereum, optimism, arbitrum, polygon. Supported tokens: USDC (more may be added over time).
When to use: totaling a stablecoin position spread across chains, treasury reporting for a multi-chain operation, checking where a wallet's funds actually sit.
When NOT to use: you only care about one chain (use onchain_token_balances, which is cheaper), or a token not in the supported set.
Args:
- address (string, required): the wallet address to check.
- token (string, optional, default "USDC"): which token to check across chains.
- chains (string[], optional): which chains to include. Defaults to all five supported chains.
Returns structuredContent:
{
"address": "0x...", "token": { "symbol": "USDC", "decimals": 6 },
"totalBalance": "1234.56",
"chains": [
{ "chain": "base", "chainId": 8453, "raw": "1000000000", "balance": "1000", "failed": false },
{ "chain": "ethereum", "chainId": 1, "raw": "234560000", "balance": "234.56", "failed": false }
]
}
A chain that could not be read reports failed: true with null balances rather than a misleading 0;
if every chain fails the call errors and is not billed.