# Base Onchain Batch ERC-20 Safety Scanner

> Base Onchain Batch ERC-20 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-15).

Batch-scans up to 20 Base ERC-20 token addresses live from on-chain data, returning honeypot verdicts, risk flags, sellability checks, and safety scores with no third-party data dependencies.

## Facts

- Endpoint: GET https://x402-data-api.bodhinindustries.workers.dev/batch
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-onchain-batch-erc-20-safety-scanner-89c02cdf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lSJjTbMYh2ncfI0PsHaM2

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-batch-erc-20-safety-scanner-89c02cdf
```

Example prompt: Can you safety-scan these Base ERC-20 tokens for honeypots and risk flags before I swap into them: 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913, 0x4200000000000000000000000000000000000006, 0x50c5725949a6f0c72e6c4a641f24049a917db0cb?

## When to prefer this

Choose this endpoint when you need trustless, live on-chain ERC-20 safety analysis on Base without relying on any third-party reputation databases or cached data. Ideal for AI agents making DeFi decisions, pre-swap token vetting, or batch-triaging a watchlist of tokens for honeypot and rug-pull risk. Prefer this over generic token scanners when data provenance and independence from third-party feeds is critical.

## Known failure modes

- Invalid or non-ERC-20 address: token appears in skipped[] with reason field explaining why
- More than 20 addresses requested: excess tokens may be skipped or request rejected
- Network/RPC failure on Base: may return partial results or error response
- Malformed comma-separated list: individual bad entries reported in skipped[], valid ones still processed
- Token with no on-chain liquidity: verdict returned as 'unknown'

## 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 per-token verdict (likely_ok, caution, honeypot, or unknown), sellability boolean, array of risk flags, and isHoneypot flag for each address — plus metadata: current Base block height, ISO-8601 timestamp, count of scanned vs skipped addresses, and reasons for any skipped entries. thirdPartyDataUsed is always false, confirming all data is computed live from Base chain.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "tokens"
 ],
 "properties": {
  "tokens": {
   "type": "string",
   "description": "Comma-separated list of up to 20 Base ERC-20 addresses; invalid entries are reported in skipped[]."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "block": {
   "type": "integer",
   "description": "Base block height"
  },
  "results": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "token": {
      "type": "string",
      "description": "address"
     },
     "symbol": {
      "type": "string",
      "description": "symbol"
     },
     "verdict": {
      "type": "string",
      "description": "likely_ok|caution|honeypot|unknown"
     },
     "sellable": {
      "type": "boolean",
      "description": "sell leg succeeded"
     },
     "riskFlags": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "isHoneypot": {
      "type": "boolean",
      "description": "buy ok, sell reverted"
     }
    }
   }
  },
  "scanned": {
   "type": "integer",
   "description": "addresses with a verdict"
  },
  "skipped": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "token": {
      "type": "string",
      "description": "address"
     },
     "reason": {
      "type": "string",
      "description": "why skipped"
     }
    }
   }
  },
  "requested": {
   "type": "integer",
   "description": "addresses requested"
  },
  "computedAt": {
   "type": "string",
   "description": "ISO-8601 timestamp"
  },
  "thirdPartyDataUsed": {
   "type": "boolean",
   "description": "always false"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-onchain-batch-erc-20-safety-scanner-89c02cdf/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)
