# Xerxes Token Verdict API

> Xerxes Token Verdict API is a paid API for AI agents from ari001.tailb4ac3a.ts.net, paid per call via x402, $0.015/call, status unknown (last checked 2026-10-02).

Returns an AI-written grade (BASED/MID/COOKED/RADIOACTIVE) and roast for a Base token contract, based on on-chain facts like proxy slots, ownership, and ERC-20 shape.

## Facts

- Endpoint: GET https://ari001.tailb4ac3a.ts.net/v1/ventures/token_verdict_api/token_verdict?utm_source=zero.xyz
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/xerxes-token-verdict-api-e56f2c11
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2jq4IwELdCby4ry4dbG9V

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 xerxes-token-verdict-api-e56f2c11
```

Example prompt: Give me the Xerxes verdict on the Base token at 0x4200000000000000000000000000000000000006 — I want to know if it grades BASED or COOKED, who owns it, and whether it has any proxy slots set.

## When to prefer this

Choose this endpoint when you need a fast, opinionated on-chain structural assessment of a Base token contract — specifically checking ERC-20 conformance, proxy upgrade slots, and owner renouncement — without needing price, holder, or liquidity data. Ideal for pre-integration checks, due diligence automation, or entertaining AI roasts of sus contracts. Not suitable when you need live market data, holder distribution, or a formal security audit.

## Known failure modes

- Address is not a deployed contract → grade RADIOACTIVE, is_contract: false
- Address is a contract but lacks decimals/totalSupply → grade RADIOACTIVE, erc20_shaped: false
- Malformed token address (not 0x + 40 hex) → input validation error, ok: false
- Contract is unreachable or RPC error → ok: false with error field populated
- Rate limit or payment failure → 402 Payment Required

## How this service works

AI-written token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the… Returns: an AI-written token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the contract's own state), a one-liner and a roast, and the facts read: code size, name, symbol, decimals, supply, owner(), proxy slots. It does not read holders, liquidity or price and makes no safety or legitimacy call. Query: token (token contract, 0x + 40 hex).

## Output

Returns a JSON object with: ok (boolean), a result object containing the token address, grade (BASED/MID/COOKED/RADIOACTIVE), grade_rule (human-readable explanation of why the grade was assigned), one_liner (≤60 char summary), roast (≤220 char AI-written quip), written_by (model or template), and facts (is_contract, code_bytes, name, symbol, decimals, total_supply, owner, owner_renounced, proxy_slot, proxy_implementation, proxy_slots_checked, erc20_shaped). Also includes chain, cached flag, and service name. Does NOT include holder counts, liquidity, or price 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "token"
     ],
     "properties": {
      "token": {
       "type": "string",
       "pattern": "^0x[a-fA-F0-9]{40}$",
       "description": "token contract, 0x + 40 hex"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "ok",
      "service"
     ],
     "properties": {
      "ok": {
       "type": "boolean"
      },
      "chain": {
       "type": "string"
      },
      "error": {
       "type": "string",
       "description": "present when ok is false"
      },
      "cached": {
       "type": "boolean"
      },
      "method": {
       "const": "verdict"
      },
      "result": {
       "type": "object",
       "required": [
        "token",
        "grade",
        "one_liner",
        "roast",
        "written_by",
        "facts"
       ],
       "properties": {
        "facts": {
         "type": "object",
         "description": "the contract state read: is_contract, code_bytes, name, symbol, decimals, total_supply, owner, owner_renounced, proxy_slot, proxy_implementation, proxy_slots_checked, erc20_shaped"
        },
        "grade": {
         "enum": [
          "BASED",
          "MID",
          "COOKED",
          "RADIOACTIVE"
         ],
         "description": "RADIOACTIVE: not a contract, or not ERC-20 shaped (no decimals/totalSupply). COOKED: a proxy implementation slot is set (EIP-1967, its beacon, or ZeppelinOS) AND owner() names a live owner. MID: either one. BASED: neither found."
        },
        "roast": {
         "type": "string",
         "maxLength": 220
        },
        "token": {
         "type": "string",
         "pattern": "^0x[0-9a-fA-F]{40}$"
        },
        "one_liner": {
         "type": "string",
         "maxLength": 60
        },
        "disclaimer": {
         "type": "string"
        },
        "grade_rule": {
         "type": "stri
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/xerxes-token-verdict-api-e56f2c11/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ari001.tailb4ac3a.ts.net](https://www.zero.xyz/host/ari001.tailb4ac3a.ts.net/llms.txt)
