# EVM Wallet Balances

> EVM Wallet Balances is a paid API for AI agents from bess-x402.onrender.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-31).

Returns native and ERC-20 token balances with USD values for a wallet address or ENS name across Ethereum, Base, Arbitrum, Optimism, and Polygon in a single call.

## Facts

- Endpoint: GET https://bess-x402.onrender.com/v1/crypto/balance?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-wallet-balances-3a4da5b1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RrCheDuTrjzMvhceR7HH7

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-wallet-balances-3a4da5b1
```

Example prompt: What's the current balance of vitalik.eth across Ethereum, Base, and Arbitrum — show me ETH, USDC, and DAI with their USD values?

## When to prefer this

Choose this endpoint when you need multi-chain EVM wallet balances in a single call rather than querying each chain separately. It is ideal for portfolio valuation, payment confirmation, and funding checks across Ethereum mainnet and major L2s (Base, Arbitrum, Optimism, Polygon). Prefer this over chain-specific balance APIs when you need a consolidated USD total or when you don't know which chain holds the assets.

## Known failure modes

- Invalid or malformed wallet address returns an error
- ENS name that cannot be resolved returns a resolution failure
- Requesting more than 10 extra ERC-20 tokens returns a validation error
- Network timeout if an RPC node is slow or unavailable
- Invalid chain name in the chains parameter returns an error
- Rate limiting or payment failure returns a 402 response

## How this service works

Balances of a wallet address or ENS name on Ethereum, Base, Arbitrum, Optimism and Polygon in one call: native ETH/POL, USDC, USDT, DAI and any ERC-20 contracts you add, each with USD value and a total. Use to check whether a wallet is funded, value a portfolio or confirm a payment arrived.

## Output

A structured response containing per-chain and per-token balances (native ETH/POL, USDC, USDT, DAI, and any extra ERC-20s specified), each with a USD value, plus an aggregate portfolio total in USD across all requested chains.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "chains": {
       "type": "string",
       "description": "Comma-separated subset of ethereum,base,arbitrum,optimism,polygon (default all)"
      },
      "tokens": {
       "type": "string",
       "description": "Extra ERC-20 contract addresses, comma-separated, max 10"
      },
      "address": {
       "type": "string",
       "description": "0x address or ENS name"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-wallet-balances-3a4da5b1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bess-x402.onrender.com](https://www.zero.xyz/host/bess-x402.onrender.com/llms.txt)
