Wallet Airdrop Readiness Score
Pricing
from $4.25 / 1,000 result founds
Wallet Airdrop Readiness Score
Profile a wallet on-chain: age, tx activity, contract & token diversity -> a 0-100 airdrop-farming readiness score. BYOK Etherscan (your key, your quota). Not a guarantee of eligibility for any specific airdrop -- a heuristic signal only.
Pricing
from $4.25 / 1,000 result founds
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Wallet Airdrop Profile — On-Chain Farming Readiness Score
Feed it a wallet address and get back its on-chain age, activity and protocol diversity across six EVM chains, distilled into a 0-100 "airdrop-farming readiness" score — read from a public block explorer, no wallet-connect and no monthly seat.
Important: what this is NOT
There is no universal "am I eligible for airdrop X" API — every airdrop has its own project-specific snapshot rules, decided after the fact and often kept secret until claim day. This Actor does not check eligibility for any specific airdrop. It profiles the on-chain signals that historically correlate with airdrop eligibility — wallet age, sustained activity, and diversity of contracts and tokens touched — and turns them into a heuristic readiness score. Treat it as a farming-hygiene checkup, not a promise. This is not financial advice.
What you get
- A single 0-100 readiness score — weighted from wallet age, recent activity, and how many distinct contracts and tokens the wallet has touched, not a raw transaction dump.
- Six EVM chains, keyless: Ethereum, Optimism, Gnosis, Polygon, Base, Arbitrum — no signup, no API key.
- The right native currency, not just "ETH". Balance comes back labeled with the chain's real gas token via
nativeSymbol(ETH,POL,xDAI, …) — a Polygon or Gnosis wallet is never mislabeled as holding ETH. - Visible source coverage. If one of the underlying checks fails — say the token-transfer history is temporarily down —
sourceCoverageandsourceErrorssay exactly which one, so a thin score from missing data never looks the same as a wallet that's genuinely quiet. - Bring your own Etherscan key for chains outside the keyless six (e.g. BSC,
chainId: 56) or for a higher rate limit than the shared keyless endpoint — billed against your own free quota, never marked up. - Runs on Apify: schedule it, monitor it, call it from the API or the MCP server, export to JSON/CSV/Excel, or push straight into your own pipeline.
How to run it
- Click Try for free — no card, no signup needed on the keyless chains.
- Paste wallet addresses into Wallet addresses, one per line. Leave Chain ID at
1for Ethereum, or set10/100/137/8453/42161for another keyless chain. - Press Start and read the results from the dataset — UI, API or webhook.
Pricing
Pay-per-event: $0.005 per run start + $0.005 per wallet profiled. No monthly seat. 100 wallets cost about $0.51; 1,000 wallets about $5.01.
A wallet that could not be profiled at all — invalid address, or every underlying source down — is still returned with found: false and the reason, and it is not charged for. Keyless runs use the shared public Blockscout quota; add your own free Etherscan API key for a chain outside the keyless six (e.g. BSC) or for a higher rate limit than the shared endpoint gives you — either way you pay nothing beyond this Actor's own charge above.
简体中文说明
输入一个或多个 EVM 钱包地址,此 Actor 会读取公开的区块浏览器数据,返回钱包的链上年龄、交易活跃度和涉及的合约/代币多样性,并汇总成一个 0-100 的"空投农场就绪度"评分(readinessScore)。数据来自公开区块浏览器,无需连接钱包,无需月费。
重要提示:这不是任何具体空投的资格查询工具。 每个空投项目的快照规则都是项目方事后自行决定的,通常在领取当天才公开,没有任何工具能给出"我是否符合某个空投资格"的确定答案。本 Actor 只是把历史上与空投资格常见相关的链上信号(钱包年龄、持续活跃度、接触过的合约和代币的多样性)量化成一个启发式评分,可以当作链上活跃度体检,不是承诺,也不构成财务建议。
默认免密钥支持 6 条 EVM 链:Ethereum、Optimism、Gnosis、Polygon、Base、Arbitrum。原生代币会按对应链正确标注(nativeSymbol,如 ETH、POL、xDAI),不会把 Polygon 或 Gnosis 钱包的余额误标成 ETH。若需要查询 BSC 等其他链,或需要比共享免密钥端点更高的速率限制,可在输入中提供自己的免费 Etherscan API 密钥(etherscanApiKey),按你自己的免费额度计费,本 Actor 不加价。
输入只需要 wallets(钱包地址数组,最多 100 个)和可选的 chainId(默认 1,即以太坊主网)。输出中的 sourceCoverage/sourceErrors 会明确指出哪一项底层检查失败,避免把"数据缺失导致的低分"误认成"钱包本身不活跃"。
计费为按事件付费:每次运行 $0.005(apify-actor-start),每个成功评分的钱包 $0.005(result-found)。无法评估的钱包(地址无效,或所有底层数据源都不可用)仍会返回 found: false 并说明原因,且不计费。100 个钱包约 $0.51,1000 个约 $5.01。
Input
| Field | Type | Description |
|---|---|---|
wallets | array of strings | EVM addresses to profile (0x + 40 hex chars). Up to 100. |
chainId | integer | Chain to query. Keyless out of the box: 1 Ethereum, 10 Optimism, 100 Gnosis, 137 Polygon, 8453 Base, 42161 Arbitrum. Any other chain (e.g. 56 BSC) needs etherscanApiKey. Default 1. |
etherscanApiKey | string (secret), optional | Your own Etherscan API key. Not required for the six keyless chains above — add it for other chains or higher throughput. |
maxConcurrency | integer | Parallel wallets (1-10, default 3 — keep it low on the shared keyless endpoint or a free-tier key). |
{"wallets": ["0x28C6c06298d514Db089934071355E5743bf21d60"]}
Output
One row per wallet. This is a real row from a real run, on Ethereum mainnet so the legacy ethBalance field is populated — on any other chain it's null and nativeBalance/nativeSymbol carry the balance instead:
{"wallet": "0x28C6c06298d514Db089934071355E5743bf21d60","chainId": 1,"found": true,"walletAgeDays": 1921,"txCount": 1000,"uniqueContracts": 106,"uniqueTokens": 39,"ethBalance": 215109.977692,"nativeBalance": 215109.977692,"nativeSymbol": "ETH","lastActiveDaysAgo": 0,"readinessScore": 100,"sourceCoverage": {"balance": "ok","walletAge": "ok","activity": "ok","tokens": "ok"},"sourceErrors": {"walletAge": null,"activity": null,"tokens": null},"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"],"disclaimer": "Heuristic on-chain profile — not a guarantee of eligibility for any specific airdrop.","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.","checkedAt": "2026-07-26T15:12:24.283Z"}
| Field | Description |
|---|---|
wallet | Normalized address you passed |
found | Whether the wallet could be profiled at all |
walletAgeDays | Days since first-ever transaction |
txCount | Transactions in the recent activity window (capped, see notes) |
uniqueContracts | Distinct addresses the wallet sent transactions to (approximation — plain tx lists don't distinguish a contract call from a wallet-to-wallet transfer) |
uniqueTokens | Distinct ERC-20 token symbols transferred |
nativeBalance / nativeSymbol | Current native balance and the chain's real gas token symbol — correct on every chain |
ethBalance | Legacy field, mirrors nativeBalance only on Ethereum mainnet (chainId: 1); null on every other chain, use nativeBalance/nativeSymbol instead |
lastActiveDaysAgo | Days since the most recent transaction |
readinessScore | 0-100 heuristic score |
sourceCoverage / sourceErrors | Which underlying checks (balance, walletAge, activity, tokens) succeeded — tells "verified thin activity" apart from "couldn't check" |
notes | Human-readable breakdown of what drove the score |
disclaimer | Always present — read it before acting on the score |
summary | One-line human-readable recap |
API
Start a run with a bearer token and explicit JSON input:
curl -sS -X POST 'https://api.apify.com/v2/acts/zinin~wallet-airdrop-profile/runs?waitForFinish=60' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \--data '{"wallets":["0x28C6c06298d514Db089934071355E5743bf21d60"]}'
Read Dataset rows using the returned defaultDatasetId:
curl -sS "https://api.apify.com/v2/datasets/$DEFAULT_DATASET_ID/items?clean=true&format=json" \-H "Authorization: Bearer $APIFY_TOKEN"
MCP
For an Apify MCP client exposing the standard call-actor tool, send this exact payload:
{"name": "call-actor","arguments": {"actor": "zinin/wallet-airdrop-profile","input": {"wallets": ["0x28C6c06298d514Db089934071355E5743bf21d60"]}}}
Related tools
Related tools for adjacent workflows in crypto and wallets.
| Actor | What it does |
|---|---|
| Token Launch Radar | Pair it in the crypto and wallets workflow: Look up any token contract address or ticker across DEXes and get liquidity, 24h volume, pair age, a 0-100... |
| Rug Pull Risk Scorer | Pair it in the crypto and wallets workflow: Score ERC-20/BEP-20 token rug-pull risk from honeypot.is simulation + DexScreener liquidity/age |
| Whale Wallet Tracker | Pair it in the crypto and wallets workflow: Track large native ETH and ERC-20 token movements for any wallet(s) via Etherscan's multichain API (bring... |
| Live Price Oracle | Pair it in the crypto and wallets workflow: Current USD price for any token by contract address or ticker: 24h change, liquidity, volume, best DEX pair |
FAQ / Limitations
Does this guarantee I'll receive airdrop X? No. See "What this is NOT" above — no tool can guarantee that, since eligibility rules are project-specific and usually undisclosed until claim day.
Does it need an API key? No — it works out of the box on Ethereum, Optimism, Gnosis, Polygon, Base and Arbitrum via a free, keyless Blockscout explorer. A free Etherscan API key is optional: add one for other chains (e.g. BSC) or for higher throughput than the shared keyless endpoint gives you.
Which chains? Keyless: Ethereum, Optimism, Gnosis, Polygon, Base, Arbitrum. With your own Etherscan API key: any EVM chain Etherscan's v2 API covers, including BSC (chainId: 56) — that chain is not keyless, a key is required.
Why does the balance sometimes show a symbol other than ETH? Because it usually should — a Polygon wallet holds POL, a Gnosis wallet holds xDAI, not ETH. nativeSymbol always names the chain's real gas token; the older ethBalance field is kept for backward compatibility but only populated on mainnet.
Can an agent call it? Yes — standard Apify Actor, callable via the Apify API or the Apify MCP server.
What this is NOT. Not an eligibility checker for any specific airdrop, and not financial advice — see above. It scores on-chain hygiene signals, nothing more.
Found a wrong result, or need a chain we don't cover? Open an issue on this Actor's page.