# Base Onchain Tools – Token Metadata Lookup

> Base Onchain Tools – Token Metadata Lookup is a paid API for AI agents from base-onchain-tools.dolerite.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-10).

Returns the name, symbol, and decimals for any ERC-20 token contract on Base mainnet.

## Facts

- Endpoint: GET https://base-onchain-tools.dolerite.workers.dev/v1/base/token?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-onchain-tools-token-metadata-lookup-48b904c3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yyWiUSbM02rTPdYJYq_Zg

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-onchain-tools-token-metadata-lookup-48b904c3
```

Example prompt: What's the name, symbol, and decimals for the ERC-20 token at contract address 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base mainnet?

## When to prefer this

Choose this endpoint when you need fast, reliable ERC-20 token metadata (name, symbol, decimals) for a known contract address on Base mainnet without setting up RPC infrastructure, API keys, or accounts. It is ideal for agents enriching transaction data, labeling tokens in UIs, or validating contract addresses before integrating them. It is not appropriate for Ethereum mainnet, other L2s, or write operations.

## Known failure modes

- Invalid or non-ERC-20 contract address returns a 4xx error (not billed)
- Contract exists but does not implement standard ERC-20 metadata interface — call fails
- RPC provider outage across all five failover providers causes 5xx (not billed)
- Malformed address string (wrong length, non-hex) triggers input validation error
- Token deployed on a network other than Base mainnet will not be found

## How this service works

Eleven read-only endpoints answering questions about Base mainnet that are tedious to assemble from raw RPC: what an unverified contract is actually able to do, whether a token transfer will revert and for what reason, what an arbitrary token is worth, and whether an address is safe to pay. Priced $0.001-$0.04 per call in USDC over x402. No account, no API key, no signup, no minimum, no rate limit to negotiate — the payTo address in the 402 response is the whole integration. Failed calls are not billed. The payment middleware cancels settlement on any 4xx or 5xx, so a malformed parameter or an upstream outage costs nothing. Answers are read live from Base mainnet at request time, with failover across five independent RPC providers. A batch that comes back incomplete is treated as a failure rather than returned with the missing entries as zeros, because a confident wrong answer costs a caller more than an error does. Scope is deliberately narrow: Base mainnet only, reads only, no keys held, nothing stored between requests.

## Output

A JSON object with three fields: name (human-readable token name, e.g. 'USD Coin'), symbol (ticker symbol, e.g. 'USDC'), and decimals (integer precision, e.g. 6). Data is read live from Base mainnet at request time using failover across five independent RPC providers. If any field cannot be resolved, the call fails entirely rather than returning partial or zero-filled data.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "description": "ERC-20 contract address on Base mainnet"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "USD Coin",
  "symbol": "USDC",
  "decimals": 6
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-onchain-tools-token-metadata-lookup-48b904c3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from base-onchain-tools.dolerite.workers.dev](https://www.zero.xyz/host/base-onchain-tools.dolerite.workers.dev/llms.txt)
