# Ethereum Onchain Balance Checker

> Ethereum Onchain Balance Checker is a paid API for AI agents from ca-tax-api-mainnet.lxtap.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-23).

Returns the native ETH balance of an Ethereum wallet plus balances of up to 20 specified ERC-20 tokens, formatted with each token's symbol and decimals, read live from Ethereum mainnet.

## Facts

- Endpoint: GET https://ca-tax-api-mainnet.lxtap.workers.dev/eth/balances?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-onchain-balance-checker-a1ef866f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EQUzTdDlQvNM1-2LYS7BP

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 ethereum-onchain-balance-checker-a1ef866f
```

Example prompt: What's the current ETH balance and USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) and USDT (0xdAC17F958D2ee523a2206206994597C13D831ec7) balance for the Ethereum wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?

## When to prefer this

Use this endpoint when you need live, formatted ETH and multi-token ERC-20 balances for a single Ethereum mainnet address in one call. Prefer it over generic block explorer APIs when you need decimals and symbols pre-formatted and want to check up to 20 tokens simultaneously. Not suitable for historical balances, Ethereum testnets, or non-Ethereum chains (use the sibling OP Mainnet endpoint for that chain).

## Known failure modes

- Invalid wallet address format (not a valid 0x hex address) — request rejected
- Invalid ERC-20 contract address in the tokens list — may return error or zero balance for that token
- More than 20 ERC-20 addresses supplied — schema validation failure
- Contract address supplied is not an ERC-20 token — may return error or null data
- Network or RPC node unavailability — service may time out or return 5xx
- Wallet has no balance — returns zero values rather than an error

## How this service works

Pay-per-call data for AI agents, paid in USDC on Base with x402: token risk checks (rug check) on Base, Ethereum, Arbitrum, Optimism, Polygon and Solana, onchain reads (balances, transactions, gas, contracts, NFTs, whale trades, new pools, ENS and Basenames), ECB exchange rates, and Canadian sales tax and business days.

## Output

A structured response containing the wallet's native ETH balance and, for each supplied ERC-20 contract address, the token symbol, decimal precision, and formatted balance — all read live from Ethereum mainnet.

## 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": {
      "tokens": {
       "type": "string",
       "pattern": "^(0x[0-9a-fA-F]{40})(,0x[0-9a-fA-F]{40}){0,19}$",
       "description": "Comma-separated ERC-20 contract addresses on Ethereum, up to 20"
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Wallet address on Ethereum"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "chain": "eth",
  "tokens": [
   {
    "raw": "37192124",
    "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "symbol": "USDC",
    "balance": "37.192124",
    "decimals": 6
   },
   {
    "raw": "116800000000000",
    "token": "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
    "symbol": "UNI",
    "balance": "0.0001168",
    "decimals": 18
   }
  ],
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "nativeSymbol": "ETH",
  "nativeBalance": "5.773252986299759339"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ethereum-onchain-balance-checker-a1ef866f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ca-tax-api-mainnet.lxtap.workers.dev](https://www.zero.xyz/host/ca-tax-api-mainnet.lxtap.workers.dev/llms.txt)
