# ChainVerdict Token Verification

> ChainVerdict Token Verification is a paid API for AI agents from chainverdict.xyz, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Resolves a token symbol or contract address to the canonical Base contract, detecting lookalike and impostor contracts that share a symbol.

## Facts

- Endpoint: GET https://chainverdict.xyz/v1/verify/token/:q
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/chainverdict-token-verification-ec02adf9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EJNwo5y45dGKyNZPodigB

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 chainverdict-token-verification-ec02adf9
```

Example prompt: Before swapping, can you verify that the USDC contract address 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 is the real canonical USDC on Base and not a lookalike impostor?

## When to prefer this

Use this endpoint whenever an AI agent is about to perform a token swap, accept a payment, or interact with any ERC-20 on Base where the contract address source is not hard-coded and trusted. It is specifically designed to catch the impostor/lookalike token attack vector — where a malicious token shares a symbol with a legitimate one — which generic blockchain lookup APIs do not explicitly guard against.

## Known failure modes

- Unknown symbol or address returns a not-found or unverified response
- Querying a token not deployed on Base returns an error or empty result
- Malformed contract address (wrong length or checksum) may return a validation error
- Network or chain data unavailability causes a service error

## How this service works

Resolve a token symbol or contract address to the canonical Base contract, so an agent swapping or accepting 'USDC' gets the real one. Catches lookalike and impostor contracts sharing a symbol.

## Output

Returns the canonical contract address for the queried token on Base, along with verification status indicating whether the queried address or symbol maps to the legitimate contract. Flags lookalike or impostor contracts that share the same symbol but are not canonical.

## 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"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "Token contract address or symbol"
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "additionalProperties": true
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/chainverdict-token-verification-ec02adf9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chainverdict.xyz](https://www.zero.xyz/host/chainverdict.xyz/llms.txt)
