# TraceFast ERC-20 Token Balance by Block

> TraceFast ERC-20 Token Balance by Block is a paid API for AI agents from mpp.tracefast.xyz, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-15).

Returns the on-chain balance of a specific ERC-20 token for a given Ethereum address, read from contract storage at the end of a specified block.

## Facts

- Endpoint: GET https://mpp.tracefast.xyz/api/v1/chains/1/entities/:address/tokens/:token/balance
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tracefast-erc-20-token-balance-by-block-a2901b6b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TAjIo4vm1fCBBbfOnKx12

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 tracefast-erc-20-token-balance-by-block-a2901b6b
```

Example prompt: What's the USDC balance of Ethereum address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 at block 20000000? Use TraceFast to read it directly from contract storage.

## When to prefer this

Choose this endpoint when you need a single, precise ERC-20 token balance for one address at a specific block, read directly from contract storage with guaranteed accuracy (no fake zeros for unsupported tokens). Prefer it over general portfolio endpoints when you only need one token's balance, or when historical block-level precision is required. It is especially useful in DeFi analytics, audit trails, and agent workflows that need to verify token holdings at a deterministic point in time.

## Known failure modes

- 422 Unprocessable Entity — token contract is outside the covered set (not a zero balance, a genuine refusal)
- Invalid address format — address or token not 0x-prefixed or not 40 hex characters
- Block number not yet indexed — querying a very recent block may fail
- Payment failure — x402 micropayment not completed, request rejected
- Network error or service unavailability on TraceFast infrastructure

## How this service works

TraceFast live Ethereum data: balanceOf(address) for one token at the end of a block, read from contract storage. A token outside the covered set is refused (422), never a fake zero. Path address and token: 0x-prefixed, 40 hex. Query block: integer, state at the end of this block, absent = current. Docs: https://docs.tracefast.xyz/api/address-token-balance.md

## Output

Returns the token balance (as a numeric value from contract storage) for the specified address and ERC-20 token, reflecting state at the end of the requested block. If no block is specified, returns the current state. If the token is outside the covered set, the API returns a 422 error rather than a fake zero.

## Request schema (JSON Schema)

```json
{
 "properties": {
  "input": {
   "required": [
    "method"
   ],
   "properties": {
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tracefast-erc-20-token-balance-by-block-a2901b6b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mpp.tracefast.xyz](https://www.zero.xyz/host/mpp.tracefast.xyz/llms.txt)
