# aiworker-data Wallet Airdrop Scan

> aiworker-data Wallet Airdrop Scan is a paid API for AI agents from aiworker.duckdns.org, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Scans all ERC-20 tokens held by a Base wallet address and classifies each as honeypot, dust, spoof, airdrop, or safe using deterministic rule-based analysis.

## Facts

- Endpoint: POST https://aiworker.duckdns.org/v1/wallet/airdrop-scan
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aiworker-data-wallet-airdrop-scan-0b3de5de
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rQq0fuQzsBgCijkQ5LDFL

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 aiworker-data-wallet-airdrop-scan-0b3de5de -d '<json body>'
```

Example prompt: Can you scan my Base wallet 0xec4bc04310925326ff80daf419a3861173865689 and tell me which tokens are honeypots, spam airdrops, or name spoofs — basically which ones I should never approve or interact with?

## When to prefer this

Choose this endpoint when you need a comprehensive, deterministic safety classification of every token in a Base wallet before any approval or swap action. It is purpose-built for wallet hygiene: it combines honeypot simulation, liquidity checks, holder counts, and sender batch-delivery analysis in a single call, rather than requiring per-token lookups. Prefer it over generic token-check endpoints when the user's goal is to audit an entire wallet at once and get actionable verdicts (ignore vs. ok) on all holdings.

## Known failure modes

- Invalid or malformed address returns a validation error
- Address has more than 25 tokens — results are capped/truncated (truncated flag set true)
- Token contract not indexed on Blockscout — token may appear in skipped list
- Honeypot.is simulation unavailable for a token — verdict may fall back to unknown
- Network timeout from upstream data sources (Blockscout, DexScreener) causes partial or failed response
- Non-Base (e.g. Ethereum mainnet) address submitted — endpoint only covers Base network

## How this service works

Wallet hygiene for one Base address: every token it holds, each marked honeypot, dust, batch-airdropped, name-spoofed, ok or unknown, with the reasons (Honeypot.is simulation per token, capped at 25; pool liquidity; holder counts; the sender that batch-delivered them). Tells an agent which balances to ignore and never approve. Deterministic, no LLM.

## Output

Returns a JSON object with a counts summary (ok, dust, spoof, airdrop, unknown, honeypot tallies) and a per-token list, each entry including: token name, symbol, contract address, sender, current balance, verdict label, batch_size, holders_count, liquidity_usd, and an array of reasons with code, detail, and severity. Also indicates whether the full holdings were checked or truncated, plus data attribution and a disclaimer.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "address": {
   "type": "string",
   "pattern": "^0x[0-9a-fA-F]{40}$",
   "description": "The 0x-prefixed 40-hex Base address to check"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "counts": {
   "ok": 0,
   "dust": 0,
   "spoof": 0,
   "airdrop": 0,
   "unknown": 0,
   "honeypot": 1
  },
  "tokens": [
   {
    "name": "Catecoiin",
    "sender": "0x0445d7a4b6aa7ad28f27c5f5b6aaad3b3861ae71",
    "symbol": "CATE",
    "address": "0xe49ca8b1d11152f5b401d53cb34d0fae13f7f7b8",
    "balance": "12",
    "reasons": [
     {
      "code": "honeypot",
      "detail": "Honeypot.is simulation: cannot be sold",
      "severity": "high"
     },
     {
      "code": "batch_airdrop",
      "detail": "3 distinct tokens from the same sender within 24 h",
      "severity": "medium"
     }
    ],
    "verdict": "honeypot",
    "batch_size": 3,
    "holders_count": 181,
    "liquidity_usd": 0.36
   }
  ],
  "address": "0xec4bc04310925326ff80daf419a3861173865689",
  "checked": [
   "0xe49ca8b1d11152f5b401d53cb34d0fae13f7f7b8"
  ],
  "skipped": [],
  "sources": [
   {
    "ok": true,
    "url": "https://base.blockscout.com/api/v2/addresses/0xec4bc04310925326ff80daf419a3861173865689/tokens?type=ERC-20",
    "name": "blockscout_address_tokens"
   }
  ],
  "truncated": false,
  "disclaimer": "Rule-based over public data; informational only, not investment advice.",
  "attribution": "Data: Blockscout (Base), Honeypot.is simulation, DexScreener-derived pairs",
  "generated_at": "2026-09-13T00:00:00.000Z",
  "holdings_index": "complete"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aiworker-data-wallet-airdrop-scan-0b3de5de/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from aiworker.duckdns.org](https://www.zero.xyz/host/aiworker.duckdns.org/llms.txt)
