# OpenVerbs Chain — ERC-20 Token Metadata

> OpenVerbs Chain — ERC-20 Token Metadata is a paid API for AI agents from chain.openverbs.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15).

Reads live ERC-20 token metadata (name, symbol, decimals, total supply) directly from a contract on EVM chains, handling both string and legacy bytes32 encodings.

## Facts

- Endpoint: POST https://chain.openverbs.com/v1/token
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openverbs-chain-erc-20-token-metadata-23830a3c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vgHZj4HAL1KSZOBPFyrH9

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 openverbs-chain-erc-20-token-metadata-23830a3c -d '<json body>'
```

Example prompt: Can you look up the on-chain metadata for the ERC-20 token at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum — I need its name, symbol, decimals, and total supply?

## When to prefer this

Use this endpoint when you need authoritative, live on-chain ERC-20 metadata directly from the contract — not from a third-party indexer or cached database. It is the right choice when you need to verify token identity, check decimals for balance formatting, or confirm whether an address is actually an ERC-20 token. Prefer it over price APIs (which do not return contract-level metadata) and over wallet APIs (which focus on balances, not token definitions). Its support for bytes32 legacy encodings makes it robust for older tokens that would fail with naive ABI calls.

## Known failure modes

- Invalid or malformed contract address (not 0x + 40 hex chars) returns a validation error
- Non-token contract or EOA returns isToken:false with no token metadata
- Unsupported chain value returns an enum validation error
- Contracts with non-standard or missing name/symbol/decimals may return partial data
- RPC endpoint unavailability triggers automatic fallback; persistent outage returns an error
- Rate limiting or payment failure returns a 402 or 429 response

## How this service works

Live ERC-20 metadata read directly from the contract: name, symbol, decimals and total supply (raw + decimal-formatted). Handles both string and legacy bytes32 name/symbol encodings. Returns `isToken:false` for EOAs or non-token contracts. Reads live on-chain data with automatic endpoint fallback.

## Output

Returns a JSON object with the token's name, symbol, decimals, raw total supply, decimal-formatted total supply, and an isToken boolean. If the address is an EOA or non-token contract, isToken is false and token fields are absent or null. Data is read live from the chain at call time.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "type": "object",
     "properties": {
      "address": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "ERC-20 contract address."
      },
      "chain": {
       "type": "string",
       "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon"
       ],
       "description": "EVM chain to query. One of: ethereum, base, arbitrum, optimism, polygon. Default \"ethereum\"."
      }
     },
     "additionalProperties": false
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  }
 },
 "required": [
  "input"
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/openverbs-chain-erc-20-token-metadata-23830a3c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chain.openverbs.com](https://www.zero.xyz/host/chain.openverbs.com/llms.txt)
