# Token Analysis API

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

Returns an AI-written grade (BASED/MID/COOKED/RADIOACTIVE), one-liner, roast, and on-chain facts for a given ERC-20 token contract address

## Facts

- Endpoint: GET https://ari001.tailb4ac3a.ts.net/v1/ventures/token_verdict_api/token_analysis_api?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/token-analysis-api-e729cea8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_m_sFTftWS1XrqLn6LLRup

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-analysis-api-e729cea8
```

Example prompt: Can you run the token verdict on 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 and tell me its grade and roast?

## When to prefer this

Use this endpoint when you need a quick AI-generated qualitative verdict on a token contract's on-chain structure — specifically its proxy upgradeability and owner status — expressed as a memorable grade and roast. Prefer it over raw RPC calls when you want a human-readable summary with a grade and wit rather than raw state data. Note: it does not assess liquidity, holder distribution, or price — for those signals, use a dedicated on-chain analytics or DEX data endpoint.

## Known failure modes

- Address not a contract (returns RADIOACTIVE grade with is_contract: false)
- Address not ERC-20 shaped — missing decimals or totalSupply — returns RADIOACTIVE
- Invalid address format (not 0x + 40 hex) returns 400 validation error
- Network or RPC read failure returns ok: false with error field
- Payment not attached or insufficient USDC returns 402 Payment Required

## How this service works

AI-driven token verdict API: returns a grade (BASED/MID/COOKED/RADIOACTIVE), a one-liner, a roast, and facts read… 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 containing: a grade enum (BASED, MID, COOKED, or RADIOACTIVE) with its derivation rule, a short one-liner (≤60 chars), an AI-written roast (≤220 chars), the author flag (model or template), and a facts object with code_bytes, name, symbol, decimals, total_supply, owner, owner_renounced, proxy slot values, and erc20_shaped flag. 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/token-analysis-api-e729cea8/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)
