# Base Token Facts API

> Base Token Facts API is a paid API for AI agents from base-facts.yankii.fr, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Returns on-chain security facts, risk flags, and liquidity data for a given ERC-20 token contract on Base mainnet

## Facts

- Endpoint: POST https://base-facts.yankii.fr/v1/verdict?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-token-facts-api-6b247996
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CUx98_3-zcv7rEe_y6J0o

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 base-token-facts-api-6b247996 -d '<json body>'
```

Example prompt: Can you pull the on-chain security facts for the token at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base — I want to know if it's upgradeable, can mint or blacklist, and how much liquidity it has?

## When to prefer this

Use this endpoint when you need a comprehensive, multi-dimensional on-chain security assessment for a specific ERC-20 token on Base mainnet — combining contract-level risk flags (upgradeability, mint/pause/blacklist selectors, ownership) with real-time liquidity data across Uniswap v2/v3 and Aerodrome. Prefer it over generic block explorers when you need a structured, machine-readable verdict with severity ratings and a numeric risk score that an agent can act on programmatically.

## Known failure modes

- Invalid or non-existent token address returns an error or empty response
- Token not deployed on Base mainnet causes lookup failure
- Non-ERC-20 contract address may return incomplete or misleading flags
- Liquidity data may be stale by one block due to spot-reserve read timing
- Network or RPC outage causes request failure
- Malformed 0x address (wrong length or non-hex) returns a validation error

## How this service works

Base token verdict for trading agents: risk level, score and flags (proxy, mint, pause, blacklist, owner, DEX liquidity on Uniswap v2/v3 and Aerodrome), each with the on-chain fact behind it. Facts and heuristics, not financial advice.

## Output

A JSON object containing the token name, symbol, and contract address; an array of security flags each with an ID, human-readable fact, and severity (info/warn/high); an overall risk level and numeric risk score (0–100); a liquidity breakdown listing individual DEX pools with reserves and USD values; a plain-English summary; the block number at which data was read; and a disclaimer about spot data validity.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "token": {
   "type": "string",
   "description": "Token contract address (0x-prefixed hex, 20 bytes)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "USD Coin",
  "flags": [
   {
    "id": "upgradeable_proxy",
    "fact": "ZeppelinOS proxy: its code can be replaced; current implementation 0x2Ce6311ddAE708829bc0784C967b7d77D19FD779",
    "severity": "warn"
   },
   {
    "id": "owner_not_renounced",
    "fact": "owner() returns 0x3ABd6f64A422225E61E435baE41db12096106df7",
    "severity": "warn"
   },
   {
    "id": "can_mint",
    "fact": "mint(address,uint256) selector found in the implementation bytecode (heuristic)",
    "severity": "warn"
   },
   {
    "id": "can_pause",
    "fact": "pause() selector found in the implementation bytecode (heuristic)",
    "severity": "warn"
   },
   {
    "id": "can_blacklist",
    "fact": "a blacklist selector was found in the implementation bytecode (heuristic)",
    "severity": "high"
   },
   {
    "id": "deep_liquidity",
    "fact": "WETH/USDC-side reserves in Uniswap v2/v3 and Aerodrome pools: $96,907,720 (at least $1,000,000)",
    "severity": "info"
   }
  ],
  "level": "high",
  "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "source": "base-mainnet-rpc",
  "symbol": "USDC",
  "summary": "USDC: High-severity: can_blacklist. Warnings: upgradeable_proxy, owner_not_renounced, can_mint, can_pause. $96,907,720 of WETH/USDC-side liquidity in 7 pool(s).",
  "liquidity": {
   "pools": [
    {
     "dex": "uniswap-v3",
     "fee": 3000,
     "pool": "0x6c561B446416E1A00E8E93E221854d6eA4171372",
     "quote": "WETH",
     "quoteReserve": "32055779596978119535815",
     "tokenReserve": "76522772029843",
     "quoteReserveUsd": "86078494.19"
    },
    {
     "dex": "uniswap-v3",
     "fee": 500,
     "pool": "0xd0b53D9277642d899DF5C87A3966A349A798F224",
     "quote": "WETH",
     "quoteReserve": "1983500656279964419661",
     "tokenReserve": "4598355794854",
     "quoteReserveUsd": "5326239.19"
    }
   ],
   "scope": "WETH and USDC pairs on Uniswap v2, Uniswap v3 (4 fee tiers) and Aerodrome (volatile and stable)",
   "wethPriceUsd": "2685.27",
   "quoteLiquidityUsd": "96907719.96"
  },
  "riskScore": 83,
  "disclaimer": "On-chain facts and heuristics read at block 52136127. Spot reserves can move within one block. Not financial advice.",
  "blockNumber": "52136127"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-token-facts-api-6b247996/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from base-facts.yankii.fr](https://www.zero.xyz/host/base-facts.yankii.fr/llms.txt)
