# Base ERC-20 Token Balance Lookup

> Base ERC-20 Token Balance Lookup is a paid API for AI agents from agentshelf.syntexa.ch, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-12).

Returns the raw and human-readable ERC-20 token balance for a given token contract and owner wallet address on Base mainnet.

## Facts

- Endpoint: POST https://agentshelf.syntexa.ch/v1/base-erc20-balance?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-erc-20-token-balance-lookup-8f873ce0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lviDSzBzcJmicU-R-9MVt

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 base-erc-20-token-balance-lookup-8f873ce0 -d '<json body>'
```

Example prompt: What's the USDC balance for wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Base — give me both the raw amount and the human-readable number?

## When to prefer this

Use this endpoint when you need to check an ERC-20 token balance (such as USDC) on Base mainnet specifically, and need both the raw on-chain integer value and the decimal-scaled human-readable amount. Distinct from native ETH balance lookups. Prefer this over generic blockchain RPCs when you want a simple pay-per-call API without managing RPC node infrastructure.

## Known failure modes

- Invalid or malformed token contract address returns an error
- Invalid or malformed owner wallet address returns an error
- Token contract address that is not an ERC-20 on Base mainnet may fail or return unexpected results
- Network or RPC connectivity issues with Base mainnet may cause timeout or error
- Unpaid requests to the paid endpoint return 402 Payment Required — use sandbox endpoint first

## How this service works

Call when an agent needs an ERC-20 balance_raw and human balance for token and owner on Base. Example token is Circle USDC. decimals() scales the human balance. Distinct from base-balance (native ETH). Read-only. No spend. Send JSON {"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","owner":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"}. Exact $0.003 USDC on Base. Try unpaid POST /v1/sandbox/base-erc20-balance first.

## Output

Returns a JSON object containing balance_raw (the integer token balance in the token's smallest unit) and a human-readable balance derived by dividing balance_raw by 10^decimals(), reflecting the actual token amount the owner holds on Base mainnet.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "owner": {
   "type": "string",
   "examples": [
    "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
   ],
   "description": "Wallet whose token balance is read. Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. EIP-55 or all one case. Returns balance_raw and a human balance from decimals()."
  },
  "token": {
   "type": "string",
   "examples": [
    "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
   ],
   "description": "ERC-20 contract on Base mainnet. Example: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (Circle USDC). EIP-55 or all one case. Paired with owner. Distinct from base-balance, which reads native ETH."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-erc-20-token-balance-lookup-8f873ce0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentshelf.syntexa.ch](https://www.zero.xyz/host/agentshelf.syntexa.ch/llms.txt)
