# ERC-20 Transfer History

> ERC-20 Transfer History is a paid API for AI agents from agentsvc.io, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-16).

Fetches the most recent ERC-20 token Transfer events (up to 50) for a given contract, optionally filtered to a specific wallet address, across multiple chains.

## Facts

- Endpoint: POST https://agentsvc.io/api/v1/proxy/erc20-transfers?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc-20-transfer-history-91492ad8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rie_-6GfjgTG-3twktsCc

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-91492ad8 -d '<json body>'
```

Example prompt: Pull the last 30 transfer events for the USDC contract on Base (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) and filter them to my wallet 0xAbC123... so I can see recent inflows and outflows.

## When to prefer this

Use this endpoint when you need a quick, cheap snapshot of recent ERC-20 transfer activity without requiring a full historical archive — ideal for wallet activity checks, due diligence on new tokens, or detecting recent on-chain movements. Prefer this over full indexing solutions when recency (last ~12000 blocks) is sufficient and cost efficiency matters. It supports multiple chains (Base, Ethereum, BSC, Arbitrum, Polygon, Avalanche, Optimism) in a single unified API.

## Known failure modes

- Invalid or non-ERC-20 contract address returns empty results or error
- Unsupported chain name causes a validation error
- Very high-activity tokens may have a narrower block range searched than 12000 blocks
- Limit outside 1–50 range may be rejected or clamped
- RPC node unavailability on the requested chain causes a timeout or failure
- Token with no recent transfers returns an empty array

## How this service works

Recent Transfer events of an ERC-20 token (newest first, up to 50): tx, time, from, to, amount in token units. Optional holder filters to transfers from or to one wallet. Reads up to the last 12000 blocks (fewer on very busy tokens) via RPC, so it is cheap but not a full history; the response says what range was searched. Use for quick wallet or token activity checks.

## Output

A JSON object with a success flag and a data payload containing an array of up to 50 transfer events (newest first), each with transaction hash, timestamp, from address, to address, and amount in token units, plus metadata indicating the block range that was searched.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "type": "string",
   "description": "base (default), ethereum, bsc, arbitrum, polygon, avalanche or optimism"
  },
  "limit": {
   "type": "number",
   "default": 20,
   "description": "1 to 50"
  },
  "token": {
   "type": "string",
   "description": "Token contract address (0x...)"
  },
  "holder": {
   "type": "string",
   "description": "Optional wallet address to filter by"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {},
  "success": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc-20-transfer-history-91492ad8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentsvc.io](https://www.zero.xyz/host/agentsvc.io/llms.txt)
