Chain
Wallet balances API
Native balance plus ERC-20 balances for an address. Checks a curated list of major tokens per chain plus any token addresses you pass. NOT an exhaustive holdings scan (raw RPC can't enumerate every token an address holds) — the response states exactly what was checked.
Price$0.01per request
MethodPOST
Route/v1/chain/balances
StatusLive
MIME typeapplication/json
Rate limit90/minute
Cache30s public
chainbalancesportfoliowalleterc20
API URL
Integration docshttps://x402.hexl.dev/v1/chain/balancesExample request
{
"address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"chain": "ethereum"
}Example response
{
"address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045",
"chain": "ethereum",
"nativeBalance": "12.500000",
"tokens": [
{
"symbol": "USDC",
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"balance": "1500.25"
}
],
"tokensChecked": 4,
"note": "Native balance + balances for known/specified tokens. Not an exhaustive holdings scan.",
"checkedAt": "2026-06-02T00:00:00.000Z"
}Input schema
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"chain": {
"type": "string",
"enum": [
"base",
"ethereum"
],
"default": "base"
},
"tokens": {
"type": "array",
"items": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"maxItems": 50
}
}
}Output schema
{
"type": "object",
"required": [
"address",
"chain",
"nativeBalance",
"tokens",
"tokensChecked",
"note"
],
"properties": {
"address": {
"type": "string"
},
"chain": {
"type": "string"
},
"nativeBalance": {
"type": "string"
},
"tokens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": [
"string",
"null"
]
},
"address": {
"type": "string"
},
"balance": {
"type": "string"
}
}
}
},
"tokensChecked": {
"type": "number"
},
"note": {
"type": "string"
},
"checkedAt": {
"type": "string"
}
}
}