# Ontario Protocol Base Wallet Balance Reader

> Ontario Protocol Base Wallet Balance Reader is a paid API for AI agents from ontarioprotocol.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-30).

Returns ETH and ERC-20 token balances for any Base mainnet wallet address, including a default list of ~25 widely held tokens plus up to 20 custom contract addresses.

## Facts

- Endpoint: GET https://ontarioprotocol.com/api/x402/base/balances?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ontario-protocol-base-wallet-balance-reader-59833556
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wQLDQ7ArnLDi_24bH-rh-

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 ontario-protocol-base-wallet-balance-reader-59833556
```

Example prompt: What are the current ETH and USDC balances for Base wallet 0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec? Also check for token at contract 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb.

## When to prefer this

Use this endpoint when you need live, on-chain token balances for a Base mainnet wallet without setting up an API key or account. It is especially useful for agents that need quick portfolio snapshots, pre-action funding checks, or balance reads for specific custom ERC-20 contracts. Prefer this over generic blockchain explorers when you need formatted and raw amounts together with block-level provenance at low cost ($0.002 USDC) and no authentication overhead.

## Known failure modes

- Invalid or malformed wallet address returns an error without charging
- Tokens outside the default list and not in the 'tokens' parameter are silently omitted (not discovered)
- More than 20 custom token addresses in the 'tokens' parameter may be rejected
- Base RPC read failure returns an error with no charge
- Non-Base (non-eip155:8453) addresses are not supported and will not return cross-chain data

## How this service works

What does this Base wallet hold? ETH, USDC and about 25 widely held Base tokens, plus up to 20 ERC-20 contracts you name, with symbol, decimals, raw and formatted amounts and the block number read, live from Base RPC. Required: address. $0.002 USDC on Base. Failed read, no charge. No account, no API key. Base mainnet only; no prices or USD values; tokens outside the list and your extras are not discovered. By Ontario Protocol.

## Output

Returns a JSON object with the block number and timestamp of the read, the wallet's native ETH balance (raw and formatted), and an array of ERC-20 token balances (symbol, address, decimals, raw amount, formatted amount, and source). Coverage metadata explains how many default-list and requested tokens were read. No prices or USD values are included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "input",
  "output"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "queryParams"
   ],
   "properties": {
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "tokens": {
       "type": "string",
       "description": "Optional comma-separated ERC-20 contract addresses to read as well, max 20."
      },
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Base wallet or contract address to read."
      }
     },
     "additionalProperties": false
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "example"
   ],
   "properties": {
    "example": {
     "type": "object",
     "additionalProperties": true
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "example": {
  "block": 53049908,
  "native": {
   "raw": "14098622686720",
   "symbol": "ETH",
   "decimals": 18,
   "formatted": "0.00001409862268672"
  },
  "schema": "ontario.base_balances.v1",
  "source": "Base RPC",
  "tokens": [
   {
    "raw": "10402131",
    "source": "default_list",
    "symbol": "USDC",
    "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "decimals": 6,
    "formatted": "10.402131"
   }
  ],
  "address": "0xa2d72aBF2C5e939fdDCA4156B74dE482e03CA3ec",
  "network": "eip155:8453",
  "read_at": "2026-10-25T00:46:04Z",
  "coverage": {
   "requested": 0,
   "default_list_size": 25,
   "default_list_unread": 0
  },
  "coverage_note": "Default-list tokens appear only with a nonzero balance; requested tokens always appear. Tokens outside the list and the request are not discovered. No prices or USD values.",
  "block_timestamp": "2026-10-25T00:46:03Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ontario-protocol-base-wallet-balance-reader-59833556/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ontarioprotocol.com](https://www.zero.xyz/host/ontarioprotocol.com/llms.txt)
