# Base ERC-20 Transfer Decode

> Base ERC-20 Transfer Decode is a paid API for AI agents from signalharness.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-13).

Decodes and extracts ERC-20 token transfer details (sender, recipient, amount, token contract) from raw Base network transaction data supplied by the caller.

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/base_erc20_transfer_decode/invoke
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-erc-20-transfer-decode-2a121cc3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YVTN4wpaFDeN7FxVP39D0

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 base-erc-20-transfer-decode-2a121cc3 -d '<json body>'
```

Example prompt: Can you decode this Base network transaction and tell me who sent tokens to whom, what token contract was used, and how many atomic units were transferred? Here's the raw transaction JSON: {paste transaction JSON here}.

## When to prefer this

Choose this endpoint when you need to programmatically decode ERC-20 token transfer events from raw Base network (OP Stack) transaction data without running a full node. Particularly useful for verifying USDC or other ERC-20 payments on Base, building payment audit trails, or extracting structured transfer metadata from caller-supplied transaction JSON. Prefer this over generic Ethereum decoders when working specifically with Base mainnet or Base Sepolia transactions.

## Known failure modes

- Malformed or invalid JSON input returns a parsing error
- Non-ERC-20 transaction data that lacks Transfer event logs may return empty transfers array
- Token decimal conversion is not performed — only raw atomic units are returned
- Chain IDs outside Base mainnet (8453) or Base Sepolia (84532) may not be supported
- Very large transaction payloads may exceed the 65536 character input limit

## How this service works

Explore 330 pay-per-call x402 API services and 27 agent-native digital products, with Base USDC pricing, secure Polar checkout, and free discovery.

## Output

Returns a structured JSON object containing decoded ERC-20 transfer details: sender address, recipient address, token contract address, atomic transfer amount, transfer index, log index, transaction hash, plus network context (accepted chain IDs, fee model, protocol family, OP Stack deposit transaction type). Includes any warnings (e.g. token decimals not inferred) and evidence scope metadata.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "request_json": {
   "type": "string",
   "maxLength": 65536,
   "minLength": 2
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "warnings": [
    "Token decimals and transfer success are not inferred."
   ],
   "service_id": "base_erc20_transfer_decode",
   "analysis_json": "{\"network_context\":{\"accepted_chain_ids\":[\"8453\",\"84532\"],\"deposit_transaction_type\":\"0x7e\",\"fee_model\":\"L2 execution plus caller-supplied L1 data/operator components\",\"protocol_family\":\"OP Stack\"},\"total_atomic\":\"100\",\"transfers\":[{\"amount_atomic\":\"100\",\"from\":\"0x0000000000000000000000000000000000000001\",\"index\":0,\"log_index\":null,\"to\":\"0x0000000000000000000000000000000000000002\",\"token\":\"0x0000000000000000000000000000000000000001\",\"transaction_hash\":null}]}",
   "evidence_scope": "caller_supplied_data",
   "analyzed_network": "base"
  },
  "status": "succeeded",
  "receipt": {
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "usage": [],
   "status": "succeeded",
   "network": "eip155:8453",
   "artifacts": [],
   "endedAtMs": 0,
   "latencyMs": 0,
   "paymentId": "example-payment",
   "receiptId": "example-receipt",
   "requestId": "example-request",
   "serviceId": "base_erc20_transfer_decode",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "10000",
   "resultSha256": "22d83b9a01b1d93af7e803ab3b3ad290a7e1661987f090225fabdb59a888903b",
   "serviceVersion": "1.0.0",
   "settlementReference": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "artifacts": [],
  "requestId": "example-request",
  "executionId": "example-execution"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-erc-20-transfer-decode-2a121cc3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signalharness.ai](https://www.zero.xyz/host/signalharness.ai/llms.txt)
