# Token Verdict

> Token Verdict is a paid API for AI agents from token-verdict-production.up.railway.app, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-29).

Returns a SOLID/CAUTION/DANGER risk verdict plus a 0-100 score and six weighted market-structure signals for any token contract address on Base, Ethereum, or Solana.

## Facts

- Endpoint: POST https://token-verdict-production.up.railway.app/v1/verdict?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/token-verdict-4e526197
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pw4tIxCJ8sIpej4P-oyo3

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 token-verdict-4e526197 -d '<json body>'
```

Example prompt: Before you swap any funds into it, can you run a risk screen on the Base token at 0x2821d96B5FC81aEC3763340b375a846a89a3ec1b — I want to know the verdict (SOLID, CAUTION, or DANGER), the score, and what the market signals look like?

## When to prefer this

Use this endpoint when an AI agent needs a fast, pre-trade risk screen on a specific token contract before executing a swap, buy, or fund routing action. It is purpose-built for agentic workflows — returning a machine-readable verdict enum alongside a numeric score and six structured signals, making it easy to build automated guardrails. Prefer this over generic token info APIs when you need an opinionated risk assessment rather than raw market data, and when you need a written analyst take to surface to a human-in-the-loop. Best for Base, Ethereum, and Solana tokens with live DEX pairs.

## Known failure modes

- Invalid or unrecognized contract address returns an error
- Token not found on specified chain (wrong chain label for the address)
- Token has no DEX pair data — insufficient market data to score
- Chain enum value not matching supported values (base, ethereum, solana)
- Network timeout if on-chain data sources are slow to respond
- Payment failure or insufficient USDC balance (x402 payment required per call)

## How this service works

Send a token contract address, get a risk verdict. Returns SOLID / CAUTION / DANGER with a 0-100 score, six weighted market-structure signals (liquidity depth, volume churn, sell pressure, price action, trader breadth, pair age) and a written analyst take. Built for AI agents screening tokens before touching them. Use this when an agent is about to buy, swap, or route funds into a token and needs a fast risk screen first.

## Output

A JSON object containing: the token identity (address, symbol, name, chain), a verdict enum (SOLID, CAUTION, or DANGER), a numeric risk score from 0 (safest) to 100 (riskiest), an array of six weighted market-structure signals each with a name, score, weight, and detail string (covering liquidity depth, volume churn, sell pressure, price action, trader breadth, and pair age), a written analyst take summarizing the market situation, and live market data including price, liquidity, 24h volume, 24h price change, buy/sell transaction counts, the DEX name, and a DexScreener pair URL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "base",
    "ethereum",
    "solana"
   ],
   "type": "string",
   "default": "base",
   "description": "Chain label: base | ethereum | solana"
  },
  "address": {
   "type": "string",
   "description": "Token contract address (0x...)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "required": [
   "token",
   "verdict",
   "score",
   "signals",
   "take",
   "market"
  ],
  "properties": {
   "take": {
    "type": "string",
    "description": "Written analyst summary"
   },
   "score": {
    "type": "number",
    "maximum": 100,
    "minimum": 0,
    "description": "Risk score: 0 (safest) to 100 (riskiest)"
   },
   "token": {
    "type": "object",
    "required": [
     "address",
     "symbol",
     "name",
     "chain"
    ],
    "properties": {
     "name": {
      "type": "string"
     },
     "chain": {
      "type": "string"
     },
     "symbol": {
      "type": "string"
     },
     "address": {
      "type": "string"
     }
    }
   },
   "market": {
    "type": "object",
    "required": [
     "price_usd",
     "liquidity_usd",
     "volume_24h_usd",
     "price_change_24h_pct",
     "txns_24h",
     "dex",
     "pair_url"
    ],
    "properties": {
     "dex": {
      "type": [
       "string",
       "null"
      ]
     },
     "pair_url": {
      "type": [
       "string",
       "null"
      ]
     },
     "txns_24h": {
      "type": "object",
      "properties": {
       "buys": {
        "type": "integer"
       },
       "sells": {
        "type": "integer"
       }
      }
     },
     "price_usd": {
      "type": [
       "string",
       "null"
      ]
     },
     "liquidity_usd": {
      "type": [
       "number",
       "null"
      ]
     },
     "volume_24h_usd": {
      "type": [
       "number",
       "null"
      ]
     },
     "price_change_24h_pct": {
      "type": [
       "number",
       "null"
      ]
     }
    }
   },
   "signals": {
    "type": "array",
    "items": {
     "type": "object",
     "required": [
      "name",
      "score",
      "weight",
      "detail"
     ],
     "properties": {
      "name": {
       "type": "string"
      },
      "score": {
       "type": "integer",
       "maximum": 100,
       "minimum": 0
      },
      "detail": {
       "type": "string"
      },
      "weight": {
       "type": "number"
      }
     }
    },
    "maxItems": 6,
    "minItems": 6
   },
   "verdict": {
    "enum": [
     "SOLID",
     "CAUTION",
     "DANGER"
    ],
    "type": "string"
   }
  }
 },
 "example": {
  "take": "BASE (Base King) trades at $0.0003238 on uniswap with $259.1k in liquidity. Trading has effectively stopped — $0 of volume across 3 transactions in 24h — so this is a dormant book, not a live market, whatever the l
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/token-verdict-4e526197/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from token-verdict-production.up.railway.app](https://www.zero.xyz/host/token-verdict-production.up.railway.app/llms.txt)
