# Crypto Token Risk Check

> Crypto Token Risk Check is a paid API for AI agents from x402-agent-api.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-13).

Checks whether a crypto token contract on Base or Ethereum is safe to pay or trade by analyzing OFAC sanctions, owner powers, liquidity, and contract upgradeability

## Facts

- Endpoint: POST https://x402-agent-api.onrender.com/api/v1/token-risk-check?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/crypto-token-risk-check-dd8f4011
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mDqEVgRvmv-EYJ14uzRKQ

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 crypto-token-risk-check-dd8f4011 -d '<json body>'
```

Example prompt: Before I swap into this token, can you check whether the contract at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base is safe — look for OFAC sanctions, mint/pause/blacklist powers, whether it's upgradeable, and give me a risk verdict?

## When to prefer this

Use this endpoint when you need a quick, automated risk assessment of an ERC-20 token contract before trading, paying, or integrating it — especially on Base or Ethereum. It combines OFAC sanctions screening, on-chain owner power analysis, DEX liquidity checks, and upgradeability detection in one call. Prefer this over manual block explorer review when you need programmatic risk signals or when evaluating unfamiliar tokens from new launches or x402 payment requests.

## Known failure modes

- Invalid or malformed contract address (must be 0x + 40 hex chars)
- Contract address does not exist on the specified chain
- Unsupported chain value (must be 'base' or 'ethereum')
- x402 payment failure or insufficient USDC balance
- Obfuscated contract code may cause powers to be missed (noted in disclaimer)
- Network timeout or RPC issues on Render-hosted service

## How this service works

Is this token safe to buy or accept? For an ERC-20 on Base or Ethereum: owner powers from its code (mint, blacklist, fees, pause, trading switch, limits), upgradeable proxy, renounced ownership, DEX liquidity (Uniswap v2/v3, Aerodrome vs WETH/USDC with USD estimate) and OFAC screening of token and owner. Verdict, score, reasons. $0.01 USDC per call.

## Output

A JSON object with: a risk verdict (e.g. 'caution', 'safe', 'danger'), a numeric risk score (0-100), a list of identified powers (mint, pause, blacklist), sanctions screening hits, liquidity data across Uniswap v2/v3 and Aerodrome pools, upgradeability and proxy admin info, a link to the block explorer, and a disclaimer. Each risk factor includes a severity level (info, caution, danger) and human-readable message.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "via": {
   "type": "string",
   "maxLength": 64,
   "description": "Optional: the tool whose next_calls suggested this call (filled in for you)."
  },
  "chain": {
   "enum": [
    "base",
    "ethereum"
   ],
   "type": "string",
   "default": "base",
   "description": "\"base\" (default) or \"ethereum\"."
  },
  "address": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "The token contract, e.g. 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC on Base)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "chain": "base",
  "token": {
   "name": "USD Coin",
   "symbol": "USDC",
   "decimals": 6,
   "total_supply": 4100000000
  },
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "control": {
   "owner": "0x3ABd6f64A422225E61E435baE41db12096106df7",
   "powers": [
    {
     "power": "mint",
     "description": "Owner or minter can create new tokens"
    },
    {
     "power": "pause",
     "description": "Transfers can be paused"
    },
    {
     "power": "blacklist",
     "description": "Addresses can be blacklisted (frozen)"
    }
   ],
   "renounced": false,
   "proxy_admin": null,
   "upgradeable": true,
   "implementation": "0x2Ce6311ddAE708829bc0784C967b7d77D19FD779"
  },
  "reasons": [
   {
    "code": "can_mint",
    "message": "Owner or minter can create new tokens",
    "severity": "caution"
   },
   {
    "code": "can_pause",
    "message": "Transfers can be paused",
    "severity": "info"
   },
   {
    "code": "can_blacklist",
    "message": "Addresses can be blacklisted (frozen)",
    "severity": "caution"
   },
   {
    "code": "upgradeable",
    "message": "Upgradeable proxy: its code can be replaced (implementation 0x2Ce6311ddAE708829bc0784C967b7d77D19FD779).",
    "severity": "caution"
   },
   {
    "code": "major_asset",
    "message": "USDC is a major Base asset (a quote currency for most pools).",
    "severity": "info"
   }
  ],
  "verdict": "caution",
  "liquidity": {
   "pools": [],
   "checked": "Uniswap v2, v3 (all fee tiers) and Aerodrome against WETH and USDC on Base",
   "eth_usd": 3900.12,
   "total_usd": 0
  },
  "sanctions": {
   "hits": []
  },
  "disclaimer": "Automated checks of the contract's code, storage and DEX pools, not a sell simulation, audit or financial advice. Powers are read from function signatures and can be missed when code is obfuscated.",
  "next_calls": [],
  "risk_score": 45,
  "explorer_url": "https://basescan.org/token/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/crypto-token-risk-check-dd8f4011/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-agent-api.onrender.com](https://www.zero.xyz/host/x402-agent-api.onrender.com/llms.txt)
