# Hermes x402 Toolkit – ERC-20 Transfers on Base

> Hermes x402 Toolkit – ERC-20 Transfers on Base is a paid API for AI agents from api.zlovev.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-18).

Fetches recent ERC-20 token transfer events for a wallet address on Base mainnet, scanning a configurable number of recent blocks.

## Facts

- Endpoint: GET https://api.zlovev.com/api/chain/erc20-transfers
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hermes-x402-toolkit-erc-20-transfers-on-base-f8c8bcda
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EqhUpnTeYcVSj2jCC9a3-

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 hermes-x402-toolkit-erc-20-transfers-on-base-f8c8bcda
```

Example prompt: Show me the last 100 ERC-20 transfers for wallet 0x2626664c2603336E57B271c5C0b26F421741e481 on Base, but only USDC (contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913), scanning the most recent 2000 blocks.

## When to prefer this

Choose this endpoint when you need lightweight, pay-per-call ERC-20 transfer history for a specific wallet on Base mainnet without setting up an API key or account. It is ideal for AI agents that need occasional on-chain transfer lookups without committing to a subscription, or for quick audits of token flows scoped to recent blocks. Prefer a full blockchain indexer (e.g. The Graph, Alchemy NFT API) for historical queries beyond 5000 blocks or cross-chain needs.

## Known failure modes

- Invalid or malformed wallet address returns an error response
- ERC-20 contract address not found on Base results in empty transfers array
- blocks parameter out of range (below 50 or above 5000) may be rejected or clamped
- limit parameter outside 1-200 range may be rejected
- Payment failure via x402 protocol results in 402 response before data is returned
- Rate limiting if too many requests are submitted rapidly

## How this service works

Pay-per-call data API for AI agents. No API key, no account, no signup — pay USDC on Base (eip155:8453) per request; free /api/meta lists all 22 endpoints. One call each: web page to LLM-ready text and link previews; China A-share quotes and limit-up pool; Chinese text and pinyin; Base/Ethereum on-chain reads (address, token, ERC-20 balances, tx, blocks, transfer history, gas price in USD); NFT records (collection, owner, and ipfs:// tokenURI resolved through public gateways); full-page screenshots; email verification without sending mail; ENS forward/reverse resolution; smart-contract due diligence (ABI, verified source, proxy); token security facts (owner, renounced ownership, paused, bytecode capability selectors); domain dossier (RDAP, DNS, TLS certificate, HTTP facts, hosting network).

## Output

Returns a JSON object with ok status, total count of matching transfers, the queried address and token filter, and an array of transfer records each containing transaction hash, block number, token contract address, direction (in/out), ISO timestamp, counterparty address, and raw token value. Also reports how many blocks were 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "integer",
       "description": "Max transfers returned, newest first (1-200, default 50)"
      },
      "token": {
       "type": "string",
       "description": "Optional ERC-20 contract address to restrict the scan to a single token"
      },
      "blocks": {
       "type": "integer",
       "description": "How many recent blocks to scan (50-5000, default 2000)"
      },
      "address": {
       "type": "string",
       "description": "Wallet address on Base mainnet (0x + 40 hex)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "count": 2,
  "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "address": "0x2626664c2603336E57B271c5C0b26F421741e481",
  "transfers": [
   {
    "tx": "0x9bb53a6e1fc7fe522222df2333c25c1604c5c2225a99902a7bdb2c03bc05ab5b",
    "block": 51432242,
    "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "direction": "out",
    "timestamp": "2026-09-17T13:55:00Z",
    "value_raw": "213405001",
    "counterparty": "0x29183f918920a2aef0115a9c7374945589968aea"
   }
  ],
  "blocks_scanned": 2000
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hermes-x402-toolkit-erc-20-transfers-on-base-f8c8bcda/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.zlovev.com](https://www.zero.xyz/host/api.zlovev.com/llms.txt)
