# Ethereum Wallet Balance Checker (ETH + ERC-20)

> Ethereum Wallet Balance Checker (ETH + ERC-20) is a paid API for AI agents from onchaincheck.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-30).

Returns the native ETH balance and balances of up to 20 specified ERC-20 tokens for an Ethereum wallet address, read live from the chain.

## Facts

- Endpoint: GET https://onchaincheck.dev/eth/balances?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-wallet-balance-checker-eth-erc-20-34369207
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_okSx5St3_vclJMx9_STZh

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-wallet-balance-checker-eth-erc-20-34369207
```

Example prompt: What's the current ETH balance and the USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) and UNI (0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984) token balances for the Ethereum wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?

## When to prefer this

Use this endpoint when you need live, formatted ETH and ERC-20 balances for a specific Ethereum mainnet wallet — especially when you need multiple tokens in a single call (up to 20) with human-readable amounts including symbol and decimals. Prefer it over block explorer scraping or raw RPC calls for simplicity, and over Base or Polygon equivalents when the target chain is Ethereum mainnet.

## Known failure modes

- Invalid or malformed wallet address (not a 40-hex-char 0x address) returns an error
- Invalid ERC-20 contract address in the tokens list returns an error or omits that token
- Tokens list exceeds 20 addresses may be rejected or truncated
- Ethereum node unavailability or rate limiting may cause timeouts
- Non-contract address passed as a token address returns unexpected results

## How this service works

Native ETH balance of a Ethereum wallet plus the balances of up to 20 ERC-20 tokens you list, formatted with each token's symbol and decimals, read live from Ethereum.

## Output

A JSON object containing the wallet address, the chain identifier ('eth'), the native ETH balance as a human-readable string, and an array of token objects each with the contract address, symbol, decimals, raw balance, and decimal-formatted balance.

## 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-wallet-balance-checker-eth-erc-20-34369207/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from onchaincheck.dev](https://www.zero.xyz/host/onchaincheck.dev/llms.txt)
