# Ethereum Token Verdict

> Ethereum Token Verdict is a paid API for AI agents from api.arysphere.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Returns a risk grade, on-chain facts, and Uniswap V3 market data for an Ethereum mainnet ERC-20 token contract address

## Facts

- Endpoint: GET https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/eth_mainnet_token_verdict?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-token-verdict-c821bd9d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ElDNkRyrfRB47R3aUTwYH

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 ethereum-token-verdict-c821bd9d
```

Example prompt: Can you pull a token verdict on 0xdAC17F958D2ee523a2206206994597C13D831ec7 — I want to know the risk grade, whether the owner is renounced, if it's an upgradeable proxy, and what the Uniswap V3 pool depth looks like?

## When to prefer this

Choose this endpoint when you need a quick, structured risk snapshot of an Ethereum mainnet ERC-20 token — specifically when you want proxy/upgradeability checks, live owner detection, and Uniswap V3 spot price and depth in a single call, without setting up an account or API key. Prefer the Base variant for Base chain tokens. Use the bundle endpoint if you need multiple token reads in one call to save cost.

## Known failure modes

- Address is not a valid 0x + 40 hex contract address — returns validation error
- Contract exists but is not ERC-20 shaped — graded RADIOACTIVE
- No Uniswap V3 pool found for the token — market section may be absent or show no liquidity
- Payment not completed via x402 — 402 response before data is returned
- Token address is for Base chain, not Ethereum mainnet — wrong endpoint, use the Base variant

## How this service works

Ethereum mainnet ERC-20 verdict: AI grade and on-chain facts for one token contract. Not financial advice.  Returns: a rule-graded 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; plus the deepest Uniswap V3 pool's USD price and depth. No holders, no safety or legitimacy call.

## Output

A JSON response containing: a letter grade (RADIOACTIVE, COOKED, MID, or BASED), on-chain facts (name, symbol, decimals, owner, total supply, proxy slots, code size), Uniswap V3 market data (price in USD, pool depth category, deepest pool details, fee tiers), a one-liner roast, a human-readable explanation of the grade, and a disclaimer that the output is entertainment rather than financial advice.

## 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",
     "properties": {
      "token": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "token contract, 0x + 40 hex"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "chain": "ethereum",
  "grade": "MID",
  "cached": false,
  "method": "verdict",
  "result": {
   "facts": {
    "name": "Tether USD",
    "owner": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828",
    "symbol": "USDT",
    "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "decimals": 6,
    "code_bytes": 11075,
    "proxy_slot": null,
    "is_contract": true,
    "erc20_shaped": true,
    "total_supply": "88301265725.970534",
    "owner_function": true,
    "owner_renounced": false,
    "total_supply_raw": "88301265725970534",
    "upgradeable_proxy": false,
    "proxy_slots_checked": [
     "eip1967",
     "eip1967_beacon"
    ],
    "proxy_implementation": null
   },
   "grade": "MID",
   "roast": "USDT: MID. No proxy slot set among those checked; a live owner holds the keys.",
   "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
   "market": {
    "dex": "uniswap_v3",
    "eth_usd": 2320.82077765,
    "fee_tiers": [
     500,
     3000
    ],
    "price_usd": 0.999055,
    "rpc_calls": 2,
    "depth_rule": "pool_depth from the deepest pool's quote-side reserve in USD: <$1k none_or_dust, <$100k thin, <$5M moderate, else deep. A description of on-chain state, not advice.",
    "pool_depth": "deep",
    "pools_found": 6,
    "deepest_pool": {
     "fee": 3000,
     "pool": "0x4e68ccd3e89f51c3074ca5072bbac773960dfa36",
     "quote": "WETH",
     "price_usd": 0.999055,
     "token_reserve": 23042841.153811,
     "quote_reserve_usd": 65101393.24
    },
    "quote_assets": [
     "WETH",
     "USDC"
    ],
    "eth_usd_source": "chainlink ETH/USD 0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419",
    "quote_reserve_usd": 65101393.24
   },
   "one_liner": "USDT is MID",
   "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.",
   "grade_rule": "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.",
   "written_by": "template"
  },
  "service": "x402_q_verdict_v1.eth_mainnet_token_verdict",
  "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ethereum-token-verdict-c821bd9d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.arysphere.com](https://www.zero.xyz/host/api.arysphere.com/llms.txt)
