# EVM Address Token Transfer History API

> EVM Address Token Transfer History API is a paid API for AI agents from ai-policy-kit.moneymaker-ai.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-30).

Fetches ERC-20 token transfer logs (sends and receives) for a given EVM wallet address across multiple chains and a configurable block window

## Facts

- Endpoint: GET https://ai-policy-kit.moneymaker-ai.workers.dev/api/address-transfers?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-address-token-transfer-history-api-179f3ac6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OzhS8cyXuly1G2nSbkyoZ

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 evm-address-token-transfer-history-api-179f3ac6
```

Example prompt: Can you pull up all the ERC-20 token transfers for wallet address 0x28C6c06298d514Db089934071355E5743bf21d60 on Ethereum over the last 1000 blocks, filtering for USDT and USDC?

## When to prefer this

Choose this endpoint when you need on-chain ERC-20 transfer history for a specific wallet address across major EVM chains (Base, Ethereum, BSC, Arbitrum, Optimism, Polygon, Gnosis, Celo), especially when you want to filter by specific tokens and a recent block window. It is well-suited for compliance audits, portfolio tracking, or anomaly detection on token flows. Prefer this over general block explorers when you need structured JSON output ready for programmatic processing.

## Known failure modes

- Invalid or malformed 0x address returns an error or empty result
- Unsupported chain enum value causes a validation error
- Block window outside 100-10000 range is rejected
- More than 10 token addresses specified returns an error
- Results may be truncated (truncated: true) if transfer count is very high
- RPC node unavailability may cause timeouts or empty responses

## How this service works

Generate an AI_POLICY.md and a pull request template with an AI-disclosure section for your open-source repo. Free, runs in your browser.

## Output

Returns a JSON object with the queried address, chain, block range (from_block, to_block, window_blocks), list of ERC-20 transfer events each containing tx hash, from/to addresses, token address, symbol, human-readable amount, raw amount, block number, UTC timestamp, direction (in/out), and log index. Also includes total count, truncated flag, and list of tokens scanned.

## 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": {
      "chain": {
       "enum": [
        "base",
        "ethereum",
        "bsc",
        "arbitrum",
        "optimism",
        "polygon",
        "gnosis",
        "celo"
       ],
       "type": "string",
       "description": "default base"
      },
      "blocks": {
       "type": "string",
       "description": "optional window, 100-10000 (default 10000)"
      },
      "tokens": {
       "type": "string",
       "description": "optional; up to 10 comma-separated token addresses"
      },
      "address": {
       "type": "string",
       "description": "0x EVM address"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "rpc": "ethereum-rpc.publicnode.com",
  "note": "ERC-20 Transfer logs where the address is sender or recipient, for the listed tokens only, in the last window_blocks blo...",
  "chain": "ethereum",
  "count": 245,
  "address": "0x28C6c06298d514Db089934071355E5743bf21d60",
  "chainId": 1,
  "to_block": 26246650,
  "transfers": [
   {
    "to": "0xF754C5E3F755843Ec7f3e3be60A5833f892B76Fe",
    "tx": "0x5a38bebb08e119077eaa6510a9f57b1b3b749203e59489e9e99e30cf00ded626",
    "from": "0x28C6c06298d514Db089934071355E5743bf21d60",
    "block": 26246650,
    "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "amount": "45.451",
    "symbol": "USDT",
    "time_utc": "2026-10-22T07:25:59.000Z",
    "direction": "out",
    "log_index": 62,
    "amount_raw": "45451000"
   },
   {
    "to": "0x88C78d4070195deDe46c9cfB30917f5554ed1415",
    "tx": "0xb0208162084025deacfc1e1d3bac095212a04af05c641ced1a87f1e464840434",
    "from": "0x28C6c06298d514Db089934071355E5743bf21d60",
    "block": 26246647,
    "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "amount": "59.58",
    "symbol": "USDT",
    "time_utc": "2026-10-22T07:25:23.000Z",
    "direction": "out",
    "log_index": 18,
    "amount_raw": "59580000"
   }
  ],
  "truncated": true,
  "from_block": 26246551,
  "window_approx": null,
  "window_blocks": 100,
  "tokens_scanned": [
   {
    "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "symbol": "USDC"
   },
   {
    "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "symbol": "USDT"
   },
   {
    "token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "symbol": "WETH"
   },
   {
    "token": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
    "symbol": "WBTC"
   },
   {
    "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
    "symbol": "DAI"
   },
   {
    "token": "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
    "symbol": "cbBTC"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-address-token-transfer-history-api-179f3ac6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ai-policy-kit.moneymaker-ai.workers.dev](https://www.zero.xyz/host/ai-policy-kit.moneymaker-ai.workers.dev/llms.txt)
