# ChainRead Token Risk Analysis

> ChainRead Token Risk Analysis is a paid API for AI agents from api.firstmention.uk, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-30).

Analyzes an ERC-20 token contract address on Base or Ethereum and returns a risk score, verdict, and risk flags

## Facts

- Endpoint: POST https://api.firstmention.uk/s/chainread/token?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/chainread-token-risk-analysis-f11c8a48
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FT0NAhX1Fte4urdfw3-47

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 chainread-token-risk-analysis-f11c8a48 -d '<json body>'
```

Example prompt: Can you check the risk level of the USDC token contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base — I want to see the risk score, verdict, and any flags before I interact with it?

## When to prefer this

Choose this endpoint when you need a quick, paid-per-call risk verdict on a specific ERC-20 token contract on Base or Ethereum. It is purpose-built for token due diligence with structured flag codes and severity levels, making it suitable for automated DeFi agents that need to gate transactions on risk thresholds. Prefer this over generic blockchain explorers when you need a machine-readable risk score rather than raw contract data.

## Known failure modes

- Invalid or non-contract address returns an error or empty flags
- Unsupported chain value (not 'base' or 'ethereum') causes validation failure
- Address not found on specified chain may return null or empty response
- Payment failure via x402 protocol blocks the request entirely
- Rate limiting or network timeout on-chain data fetch

## How this service works

Pay-per-call HTTP APIs, paid with x402 in USDC on Base (eip155:8453): agentkit, api-change-check, basedue, basewatch, chainread, check-sanctions, chgwatch, company-facts, composite, edgar, feednews, pageaudit, solcheck, token-dd, txpreflight, walletcheck, webmd, webread, websearch, x402index. Each operation describes its service.

## Output

Returns a JSON object with a numeric risk score (0-100), a verdict string (e.g. CAUTION, SAFE, DANGER), an array of risk flags each with a code and severity level, the chain queried, and the contract address analyzed. Also includes metadata about the payer address and price paid.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "hash": {
   "type": "string",
   "description": "0x transaction hash (for /tx)"
  },
  "chain": {
   "enum": [
    "base",
    "ethereum"
   ],
   "type": "string"
  },
  "number": {
   "type": "string",
   "description": "Block number or 'latest' (for /block)"
  },
  "address": {
   "type": "string",
   "description": "0x address or ERC-20 contract address"
  },
  "addresses": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Up to 25 addresses (for /batch)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "risk": "medium",
  "_meta": {
   "payer": "0x...",
   "price_usd": 0.01
  },
  "chain": "base",
  "flags": [
   {
    "code": "owner_holds_power",
    "severity": "high"
   }
  ],
  "score": 45,
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "verdict": "CAUTION"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/chainread-token-risk-analysis-f11c8a48/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.firstmention.uk](https://www.zero.xyz/host/api.firstmention.uk/llms.txt)
