# Wallet Airdrop Profile Scorer

> Wallet Airdrop Profile Scorer is a paid API for AI agents from api.timzinin.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Analyzes an Ethereum wallet's on-chain activity and returns a heuristic readiness score for airdrop eligibility, including age, transaction count, unique counterparties, token diversity, and ETH balance.

## Facts

- Endpoint: POST https://api.timzinin.com/api/wallet-airdrop-profile
- 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/wallet-airdrop-profile-scorer-9f64867b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XG5gGvgkEdR84W5ZYLdDZ

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 wallet-airdrop-profile-scorer-9f64867b -d '<json body>'
```

Example prompt: Check the airdrop readiness of Ethereum wallet 0x28C6c06298d514Db089934071355E5743bf21d60 on mainnet (chain ID 1) and give me the readiness score, wallet age, recent transaction count, and how many unique tokens and contracts it has touched.

## When to prefer this

Choose this endpoint when you need a quick, structured heuristic profile of an Ethereum wallet's on-chain maturity for airdrop eligibility assessment — especially when you need a composite readiness score rather than raw blockchain data. It aggregates wallet age, activity breadth, token diversity, and balance into a single normalized score, saving the effort of querying Etherscan directly and aggregating manually. Prefer it over raw block explorer queries when you want a ready-to-use eligibility signal with annotations and caveats included.

## Known failure modes

- Invalid or malformed wallet address returns an error or empty results
- Unsupported chain ID may return no data or an error
- Etherscan rate limits or outages may populate sourceErrors fields with non-null values
- Transaction and token counts are capped at 1000 most recent — historical totals are not reflected
- Payment not settled results in 402 rejection before the request is processed
- Very new wallets with no activity may return minimal data with low readiness scores

## How this service works

Pay-per-call data & tool APIs

## Output

Returns a JSON object with a 'results' array containing one entry per wallet. Each entry includes: readiness score (0–100), wallet age in days, recent transaction count (capped at 1000), unique counterparty count, unique token count, ETH balance, last active days ago, a plain-English summary, notes about data caps and tier classifications, source coverage status per data dimension (balance, activity, tokens, wallet age), any source errors, and a disclaimer that the profile is heuristic and not a guarantee of eligibility. Also includes run time in milliseconds and payment settlement confirmation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chainId": {
   "type": "integer"
  },
  "wallets": {
   "type": "array",
   "maxItems": 100
  },
  "maxConcurrency": {
   "type": "integer",
   "maximum": 10,
   "minimum": 1
  },
  "etherscanApiKey": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "meta": {
   "run_ms": 1200,
   "settled": true,
   "item_count": 1
  },
  "results": [
   {
    "found": true,
    "notes": [
     "transaction count capped at 1000 most recent normal txs (Etherscan page limit) — txCount/uniqueContracts reflect the recent window, not full history",
     "token transfer count capped at 1000 most recent transfers — uniqueTokens reflects the recent window, not full history",
     "wallet is 5.3y old (2y+ tier)",
     "1000 recent transactions (heavy activity)",
     "106 distinct counterparties (broad protocol coverage)",
     "39 distinct tokens touched"
    ],
    "wallet": "0x28C6c06298d514Db089934071355E5743bf21d60",
    "chainId": 1,
    "summary": "0x28C6c06298d514Db089934071355E5743bf21d60 — readiness 100/100, 1921d old, 1000 recent txs, 106 unique counterparties, 215109.977692 ETH. Heuristic on-chain profile — not a guarantee of eligibility for any specific airdrop.",
    "txCount": 1000,
    "checkedAt": "2026-07-26T15:12:24.283Z",
    "disclaimer": "Heuristic on-chain profile — not a guarantee of eligibility for any specific airdrop.",
    "ethBalance": 215109.977692,
    "nativeSymbol": "ETH",
    "sourceErrors": {
     "tokens": null,
     "activity": null,
     "walletAge": null
    },
    "uniqueTokens": 39,
    "nativeBalance": 215109.977692,
    "walletAgeDays": 1921,
    "readinessScore": 100,
    "sourceCoverage": {
     "tokens": "ok",
     "balance": "ok",
     "activity": "ok",
     "walletAge": "ok"
    },
    "uniqueContracts": 106,
    "lastActiveDaysAgo": 0
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/wallet-airdrop-profile-scorer-9f64867b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.timzinin.com](https://www.zero.xyz/host/api.timzinin.com/llms.txt)
