# EVM Multi-Chain Token Balance Lookup

> EVM Multi-Chain Token Balance Lookup is a paid API for AI agents from ai-policy-kit.moneymaker-ai.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-28).

Returns native and ERC-20 token balances for an EVM wallet address across multiple blockchain networks

## Facts

- Endpoint: GET https://ai-policy-kit.moneymaker-ai.workers.dev/api/token-balances?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-multi-chain-token-balance-lookup-236a251e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_omHEOakZOErkj4L4fFuFS

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability evm-multi-chain-token-balance-lookup-236a251e
```

Example prompt: What are the current ETH and USDC token balances for wallet 0x5b4Ca59741DE12DC212982b342392a063492a021 on Base and Ethereum?

## When to prefer this

Use this endpoint when you need a fast, multi-chain token balance snapshot for any EVM-compatible wallet address without standing up your own RPC infrastructure. It is particularly useful for agents that need to check wallet liquidity before initiating payments, build portfolio views, or verify airdrop/transfer receipt across Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Gnosis, and Celo in a single call.

## Known failure modes

- Invalid or malformed 0x wallet address returns an error or empty result
- Unsupported chain name causes that chain to appear in the 'unreachable' list
- More than 20 token addresses specified with tokens param causes request rejection
- Specifying 'tokens' param without a single 'chain' param is unsupported
- RPC node downtime may result in a chain appearing in 'unreachable'
- Payment failure (x402) blocks request before execution

## How this service works

Generate an AI_POLICY.md and a pull request template with an AI-disclosure section for your open-source repo. Free, runs in your browser.

## Output

Returns a structured JSON object with per-chain breakdowns including the current block number, native token balance (e.g. ETH), and balances for specified or default ERC-20 tokens (USDC, USDT, WETH, cbBTC, DAI, EURC). Also includes a 'nonzero' summary array listing only tokens with positive balances, and an 'unreachable' array for any chains that couldn't be queried.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "chain": {
       "type": "string",
       "description": "optional; one or more of base, ethereum, bsc, arbitrum, optimism, polygon, gnosis, celo (comma-separated). Default: base, ethereum, arbitrum, optimism, polygon, bsc"
      },
      "tokens": {
       "type": "string",
       "description": "optional; up to 20 comma-separated token addresses (needs a single chain=)"
      },
      "address": {
       "type": "string",
       "description": "0x EVM address"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "chains": [
   {
    "rpc": "mainnet.base.org",
    "block": 52932309,
    "chain": "base",
    "native": {
     "symbol": "ETH",
     "balance": "0.000412069025068897",
     "balance_raw": "412069025068897"
    },
    "tokens": [
     {
      "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "symbol": "USDC",
      "balance": "1.125",
      "read_ok": true,
      "decimals": 6,
      "balance_raw": "1125000"
     },
     {
      "token": "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
      "symbol": "USDT",
      "balance": "0",
      "read_ok": true,
      "decimals": 6,
      "balance_raw": "0"
     },
     {
      "token": "0x4200000000000000000000000000000000000006",
      "symbol": "WETH",
      "balance": "0",
      "read_ok": true,
      "decimals": 18,
      "balance_raw": "0"
     },
     {
      "token": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
      "symbol": "cbBTC",
      "balance": "0",
      "read_ok": true,
      "decimals": 8,
      "balance_raw": "0"
     },
     {
      "token": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
      "symbol": "DAI",
      "balance": "0",
      "read_ok": true,
      "decimals": 18,
      "balance_raw": "0"
     },
     {
      "token": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
      "symbol": "EURC",
      "balance": "0",
      "read_ok": true,
      "decimals": 6,
      "balance_raw": "0"
     }
    ],
    "chainId": 8453
   }
  ],
  "address": "0x5b4Ca59741DE12DC212982b342392a063492a021",
  "nonzero": [
   {
    "chain": "base",
    "native": true,
    "symbol": "ETH",
    "balance": "0.000412069025068897"
   },
   {
    "chain": "base",
    "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "symbol": "USDC",
    "balance": "1.125"
   }
  ],
  "unreachable": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-multi-chain-token-balance-lookup-236a251e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ai-policy-kit.moneymaker-ai.workers.dev](https://www.zero.xyz/host/ai-policy-kit.moneymaker-ai.workers.dev/llms.txt)
