# Base Onchain Token Intelligence & Safety Scanner

> Base Onchain Token Intelligence & Safety Scanner is a paid API for AI agents from x402-data-api.bodhinindustries.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Resolves a Base chain address to live ERC-20 token metadata, safety flags, supply analytics, proxy detection, and optional holder balances — all computed directly from raw chain state with no third-party data.

## Facts

- Endpoint: GET https://x402-data-api.bodhinindustries.workers.dev/token
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-onchain-token-intelligence-safety-scanner-fcd50f63
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lJ8Pewe1EH8ATuvfdwcCl

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-onchain-token-intelligence-safety-scanner-fcd50f63
```

Example prompt: Can you scan the Base contract at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 for me — is it a real ERC-20, is it a proxy, what's the circulating supply after burns, and are there any safety flags I should know about before trading it?

## When to prefer this

Choose this endpoint when you need trustless, first-party onchain data about a Base chain address — no reliance on third-party token lists, price APIs, or off-chain databases. Ideal for pre-trade safety checks, DeFi agent due diligence, wallet approval audits, or any workflow requiring verifiable ERC-20 metadata directly from Base chain state. Prefer over CoinGecko/CoinMarketCap when you need real-time supply figures, proxy detection, or burn analytics that aggregators may lag or fabricate.

## Known failure modes

- Invalid or malformed address returns an error or empty/null fields
- Address not found on Base (e.g. wrong network) may return is_contract: false with no token data
- Non-ERC-20 contract returns isErc20: false and the not_erc20 flag with null decimals/supply fields
- Rate limiting or payment failure (x402) returns a 402 Payment Required response
- Network congestion on Base may cause timeout or stale block height
- Proxy contracts with non-standard implementations may not resolve implementation address correctly

## How this service works

Self-computed Base onchain toolkit for AI agents: ERC-20 safety scan, manipulation-resistant TWAP price oracle, gas/fee oracle, calldata decoder, token/address/contract intel, wallet approval-risk audit, and batch token triage — all computed live from raw Base chain, no third-party data.

## Output

Returns a JSON object with the token name, symbol, decimals, total supply, circulating supply (minus burned), burned percentage, ERC-20 compliance boolean, proxy detection boolean, implementation address if proxied, account type classification (eoa/contract/contract_non_erc20/proxy), an array of safety flags (e.g. high_burn, is_proxy, not_erc20, zero_supply), the Base block height at computation time, and optionally balanceOf results for up to 5 provided holder addresses. The thirdPartyDataUsed field is always false, confirming all data is sourced directly from the Base chain.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "token"
 ],
 "properties": {
  "token": {
   "type": "string",
   "description": "Base address to resolve (ERC-20 contract or wallet)."
  },
  "holders": {
   "type": "string",
   "description": "Optional comma-separated list of up to 5 addresses to also return balanceOf for."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "name": {
   "type": "string",
   "description": "token name"
  },
  "block": {
   "type": "integer",
   "description": "Base block height"
  },
  "flags": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "e.g. high_burn, is_proxy, not_erc20, zero_supply"
  },
  "symbol": {
   "type": "string",
   "description": "token symbol"
  },
  "address": {
   "type": "string",
   "description": "address resolved"
  },
  "isErc20": {
   "type": "boolean",
   "description": "exposes decimals + totalSupply"
  },
  "isProxy": {
   "type": "boolean",
   "description": "EIP-1967/beacon proxy detected"
  },
  "decimals": {
   "type": "integer",
   "description": "token decimals"
  },
  "burnedPct": {
   "type": "number",
   "description": "percent of supply at zero/dead address"
  },
  "computedAt": {
   "type": "string",
   "description": "ISO-8601 timestamp"
  },
  "isContract": {
   "type": "boolean",
   "description": "has bytecode"
  },
  "accountType": {
   "type": "string",
   "description": "eoa | contract | contract_non_erc20 | proxy"
  },
  "totalSupply": {
   "type": "string",
   "description": "total supply (decimal string)"
  },
  "circulatingSupply": {
   "type": "string",
   "description": "total minus burned (decimal string)"
  },
  "thirdPartyDataUsed": {
   "type": "boolean",
   "description": "always false"
  },
  "implementationAddress": {
   "type": "string",
   "description": "proxy implementation (or null)"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-onchain-token-intelligence-safety-scanner-fcd50f63/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-data-api.bodhinindustries.workers.dev](https://www.zero.xyz/host/x402-data-api.bodhinindustries.workers.dev/llms.txt)
