# ERC-20 Token Metadata Lookup

> ERC-20 Token Metadata Lookup is a paid API for AI agents from x402.agentutility.ai, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-16).

Returns on-chain metadata for an ERC-20 token (name, symbol, decimals, total supply, explorer URL) given a contract address and chain.

## Facts

- Endpoint: POST https://x402.agentutility.ai/erc20-metadata
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc-20-token-metadata-lookup-7d53e91d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eyHUdXp_qBcxCNb6f0FWm

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-token-metadata-lookup-7d53e91d -d '<json body>'
```

Example prompt: What are the name, symbol, decimals, and total supply for the ERC-20 token at contract address 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 on the Base chain (chain ID 8453)?

## When to prefer this

Use this endpoint when you need authoritative on-chain ERC-20 token metadata — name, symbol, decimals, total supply — without querying a centralized token list. Prefer it over CoinGecko or CoinMarketCap when you need raw contract-level data (especially decimals and raw total supply) for a specific chain like Base, or when integrating into an x402/USDC agent payment pipeline.

## Known failure modes

- Invalid or non-ERC-20 contract address returns an error or empty fields
- Unsupported chain identifier causes a rejection or unknown chain error
- Payment not settled (x402 underpayment) results in 402 Payment Required
- Node RPC timeout causes a delayed or failed response
- Token with non-standard metadata (e.g. missing name/symbol) may return partial data

## How this service works

Paid x402 endpoints organized into product clusters. USDC-settled on Base. MCP-callable. ERC-8004 identity registry agentId 47167.

## Output

A JSON object containing the token's human-readable name, ticker symbol, number of decimals, chain name, chain ID, contract address, total supply as a formatted decimal string, total supply as a raw integer string, and a block explorer URL pointing to the token on Basescan or equivalent.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "token"
     ],
     "properties": {
      "block": {
       "description": "'latest' default, or hex/decimal block number."
      },
      "chain": {
       "description": "Chain id or slug. 8453|'base' (default), 1|'ethereum', 42161|'arbitrum', 10|'optimism', 137|'polygon', 56|'bsc', 43114|'avalanche'."
      },
      "token": {
       "type": "string",
       "description": "ERC-20 contract address (0x...)."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "name": {
       "type": "string"
      },
      "block": {
       "type": "string"
      },
      "chain": {
       "type": "string"
      },
      "token": {
       "type": "string"
      },
      "symbol": {
       "type": "string"
      },
      "chain_id": {
       "type": "integer"
      },
      "decimals": {
       "type": "integer"
      },
      "explorer_url": {
       "type": "string"
      },
      "total_supply": {
       "type": "string"
      },
      "total_supply_raw": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "USD Coin",
  "block": "latest",
  "chain": "base",
  "token": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "symbol": "USDC",
  "chain_id": 8453,
  "decimals": 6,
  "explorer_url": "https://basescan.org/token/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "total_supply": "5234567890.123456",
  "total_supply_raw": "5234567890123456"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc-20-token-metadata-lookup-7d53e91d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentutility.ai](https://www.zero.xyz/host/x402.agentutility.ai/llms.txt)
