# ERC-20 Transfer History API (Base/Optimism/Mainnet)

> ERC-20 Transfer History API (Base/Optimism/Mainnet) is a paid API for AI agents from x402-audit.tatschluizguilherme.workers.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-15).

Fetches full ERC-20 transfer history (incoming and outgoing, all tokens) for any wallet address on Base, Optimism, or Ethereum Mainnet, with decoded transfer details and native ETH balance delta.

## Facts

- Endpoint: GET https://x402-audit.tatschluizguilherme.workers.dev/history
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc-20-transfer-history-api-base-optimism-mainnet-292fe78d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LJE57rs71bgamQVQmsNq9

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 erc-20-transfer-history-api-base-optimism-mainnet-292fe78d
```

Example prompt: Can you pull the full ERC-20 transfer history for wallet 0xAbC123...def on Base — I need to confirm an outgoing USDC payment went through and see the ETH balance delta over the same window.

## When to prefer this

Choose this endpoint when you need comprehensive ERC-20 transfer history across all tokens for a wallet without knowing specific token contract addresses, especially for payment verification, airdrop confirmation, or bounty auditing on Base, Optimism, or Ethereum Mainnet. Prefer it over raw eth_getLogs endpoints when you want decoded, human-readable transfer values with direction labels and ETH balance deltas included in one call.

## Known failure modes

- Invalid or malformed wallet address returns an error
- Unsupported network name returns a validation error
- Block range too wide for busy wallet — auto-shrunk with rangeHint returned
- RPC provider unavailable or rate-limited causes a 5xx error
- No transfers found in range returns empty list (not an error)
- Historical balance unavailable on some RPC nodes means ETH delta may be null

## How this service works

Pay-per-call on-chain API for AI agents and developers: wallet audits, token safety audits (honeypot detection), live gas prices, token prices, transaction receipts, balances, ENS resolution, block data, ERC-20 allowances, transaction simulation, swap quotes and multicall batches — all computed on-chain via public RPCs (no external market API). Pay per request in USDC on Base via the x402 exact scheme (EIP-3009 transferWithAuthorization). No API key, no signup, no subscription.

## Output

A list of ERC-20 transfer events for the given wallet, each containing: direction (in/out), block number, unix and ISO timestamps, transaction hash, log index, token contract address, decoded from/to addresses, and formatted transfer value using the token's own decimals. Also includes the native ETH balance delta (before/after) over the queried window, and a rangeHint if the window was auto-shrunk for busy wallets.

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 5,
  "native": {
   "direction": "in",
   "afterFormatted": "41928.8859153",
   "deltaFormatted": "200.98828849",
   "beforeFormatted": "41727.89762681"
  },
  "address": "0x000000000004444c5dc75cb358380d2e3de08a90",
  "network": "mainnet",
  "toBlock": "25685762",
  "direction": "both",
  "fromBlock": "25684762",
  "transfers": [
   {
    "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
    "txHash": "0xf2e57568318a9f30f1…",
    "decoded": {
     "args": {
      "to": "0x000000000004444c…",
      "from": "0x278d858f…",
      "value": "71735844",
      "symbol": "USDC",
      "valueFormatted": "71.735844"
     },
     "event": "Transfer"
    },
    "direction": "in",
    "timestamp": 1785914235,
    "blockNumber": 25685765,
    "timestampISO": "2026-08-04T23:17:15.000Z"
   }
  ],
  "truncated": true,
  "blockRange": "1000",
  "requestedAt": "2026-08-05T02:20:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc-20-transfer-history-api-base-optimism-mainnet-292fe78d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-audit.tatschluizguilherme.workers.dev](https://www.zero.xyz/host/x402-audit.tatschluizguilherme.workers.dev/llms.txt)
