You allocate ten million tokens to reward early users. Distribution day arrives, the token lists, and it immediately dumps 90% because most of your "early users" were one person with three thousand wallets.
The economics of farming
Farming is rational. If an airdrop averages $500 per wallet and a wallet costs $3 in gas and five minutes of scripted activity, the return is obvious. Farmers are not breaking your rules — they are following them at scale.
Filters that do not work
Minimum transaction counts, minimum balances, and "must have used the protocol for 30 days" are all trivially scriptable. Requiring a Twitter follow filters nobody. CAPTCHA stops nothing that matters.
What actually works: cluster detection
Individual wallets are cheap to fake. Relationships between wallets are not. Look for:
- Funding graphs — thousands of wallets funded from the same source in sequence
- Timing correlation — wallets that transact within seconds of each other, repeatedly
- Behavioural fingerprints — identical gas settings, identical transaction ordering, identical session lengths
- Consolidation patterns — outputs that all eventually flow to one address
Any one of these produces false positives. Three of them together almost never does.
Weight, do not ban
The best systems do not binary-reject. They score every wallet and scale the allocation. A borderline wallet gets 30% of the standard allocation rather than zero, which keeps real users who happen to look suspicious from being punished.
Distribute over time
A single cliff distribution is a dump event. Vesting your airdrop over months, with continued participation requirements, makes farming an ongoing cost rather than a one-time payout. Most farmers will not bother.
The TON Airdrop & Quest Portal implements the scoring and clustering described here out of the box.