# Zapper Token Balances by Address

> Zapper Token Balances by Address is a paid API for AI agents from api.chainmarket-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-24).

Returns EVM wallet token balances (native + ERC-20) with USD values across multiple chains using Blockscout explorer data

## Facts

- Endpoint: GET https://api.chainmarket-api.workers.dev/api/crypto/zapper-token-balances?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/zapper-token-balances-by-address-c33829cf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_puKIokfkQRniFlYo97AEJ

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 zapper-token-balances-by-address-c33829cf
```

Example prompt: Look up all token balances for the wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 across Ethereum, Base, and Optimism — show me each token's amount and USD value, and give me the total portfolio value.

## When to prefer this

Choose this endpoint when you need a multi-chain EVM token balance snapshot with USD pricing for any public wallet address, without requiring an API key or signup. It aggregates across Ethereum, Optimism, Base, Arbitrum, Polygon, Gnosis and more in a single call, making it ideal for portfolio checks, treasury audits, or whale-wallet monitoring where you need both native and ERC-20 token data with live USD values.

## Known failure modes

- Invalid or malformed wallet address returns an error (address must be 0x + 40 hex chars)
- Chain provider timeout results in that chain appearing in unavailableChains with an error message
- Unsupported chain name in the chains parameter causes a validation error
- Address with no token balances returns empty token arrays
- Rate or payment failure results in no charge but no data returned

## How this service works

Token balances of an EVM wallet across chains from Blockscout explorers: native coin and ERC-20 holdings with amount, USD price and USD value (largest first), plus per-chain and overall USD totals. Ethereum, Optimism and Gnosis by default; Base, Arbitrum and Polygon when the operator's free Blockscout key is set. Prices are Blockscout's; airdropped tokens can be spam.

## Output

Returns a JSON object with per-chain breakdowns including native asset (symbol, amount, USD value) and a list of ERC-20 tokens (name, symbol, contract address, amount, USD price, USD value, reputation), plus a grand total USD value, a timestamp, and any chains that were unavailable due to errors or timeouts.

## 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": {
      "limit": {
       "type": "string",
       "description": "Tokens per chain, 1 to 50 (default 20)"
      },
      "chains": {
       "type": "string",
       "description": "Comma list from ethereum, optimism, gnosis, base, arbitrum, polygon (default: every chain available)"
      },
      "address": {
       "type": "string",
       "description": "EVM wallet address (0x + 40 hex characters)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "chains": [
   {
    "chain": "optimism",
    "native": {
     "amount": 0.18107959,
     "symbol": "ETH",
     "priceUsd": 2393.91,
     "valueUsd": 433.49
    },
    "tokens": [
     {
      "name": "L2 Standard Bridged WETH (Optimism)",
      "amount": 0.03493032,
      "symbol": "WETH",
      "contract": "0x4200000000000000000000000000000000000006",
      "priceUsd": 2408.12,
      "valueUsd": 84.12,
      "reputation": "ok"
     },
     {
      "name": "Bridged USDT",
      "amount": 43.384903,
      "symbol": "USDT",
      "contract": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
      "priceUsd": 0.998925,
      "valueUsd": 43.34,
      "reputation": "ok"
     }
    ],
    "chainId": 10,
    "totalUsd": 666.55,
    "moreTokens": true,
    "tokensShown": 10
   }
  ],
  "source": "Blockscout explorers (blockscout.com)",
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "totalUsd": 666.55,
  "checkedAt": "2026-10-23T09:36:05.662Z",
  "unavailableChains": [
   {
    "chain": "ethereum",
    "error": "Blockscout (ethereum) timed out"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zapper-token-balances-by-address-c33829cf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.chainmarket-api.workers.dev](https://www.zero.xyz/host/api.chainmarket-api.workers.dev/llms.txt)
