SEO 4 min read

Telegram Airdrop Bot: Running a Campaign That Is Not Farmed

Why airdrops run on Telegram, which tasks can actually be verified, and the anti-farming controls that decide whether your budget reaches real users.

S
ShipWeb3 Admin August 29, 2026 · 54 views

Why airdrops moved to Telegram: the hard part of a campaign is proving someone did something. Telegram already knows who a user is, whether they joined your channel, and whether they invited anyone. That is most of the verification problem solved before you write any code.

What an airdrop bot actually does

JobWhat it involvesWhy the bot is better at it than a form
IdentityOne person, one entryTelegram supplies a verified account, not a typed email
Task verificationJoin a channel, invite friends, complete an actionChannel membership is checkable through the API
Referral attributionWho invited whomDeep links attribute instantly, with no tracking cookies
Anti-farmingFiltering fake entriesAccount age and behaviour are visible signals
PayoutSending the rewardSame interface people already have open

The tasks worth verifying

Choose tasks you can actually check. A campaign whose rules cannot be enforced is a campaign that pays everybody, which is a giveaway rather than an airdrop.

1
Channel or group membership
Directly checkable through the Bot API, and re-checkable at payout time so people cannot join, qualify and leave.
2
Referrals
Deep-link attribution is instant and reliable. This is the task that actually grows the campaign.
3
In-app activity
Daily check-ins, tapping, quiz answers — anything happening inside your own product is fully verifiable.
4
Wallet submission
Validate the address format and reject duplicates. One wallet, one entry.
5
External social tasks
Weakest link: a screenshot proves nothing. Either integrate a real API or accept these are unverifiable and weight them low.

Anti-farming is the whole game

Where a Telegram airdrop leaks value
Multi-account farming — one person, hundreds of entries
 
Referral self-invites — inviting your own throwaway accounts
 
Join-qualify-leave — membership not re-checked at payout
 
Unverifiable social tasks — paid on screenshots that prove nothing
 
Genuine participants — the people the budget was actually for
 

That bottom bar is the point. Without filtering, the majority of an airdrop budget reaches people who were never going to become users. Every control you add moves budget from the top bars to the bottom one.

Controls that actually work

ControlStopsCost to you
Account age minimumFreshly created throwawaysExcludes some genuine new users
Device and IP clusteringOne person, many accountsOccasional false positives on shared connections
Joining velocity limitsScripted burstsAlmost none
Re-check membership at payoutJoin, qualify, leaveAlmost none — this one is free
Held-for-review queueIrreversible payment of fraudYou have to review
Per-user lifetime capWorst-case exposureBounds your best users too

Push or claim — decide this first

Every airdrop is one of two shapes, and the choice determines your cost, your risk and your code.

Push (you send)Claim (they collect)
Who pays gasYou, for every recipientThe recipient
Cost at 10,000 walletsTen thousand transfersOne contract deployment
Unclaimed tokensImpossible — everyone gets themTypically 40–70% go unclaimed
Failure modeA batch dies halfway and state is unclearPeople miss the window and complain
Feels likeA giftA task
Right whenSmall lists, or the gesture mattersLarge lists, or gas cost is prohibitive

Most large airdrops use claim with a merkle proof: publish a root on-chain, give each eligible wallet a proof, and let them collect. It moves the cost to the recipient and scales to any list size. Push is warmer and simpler, and it is the right answer for a few hundred people.

Where distributions actually break

Failure modes, by cost when they happen
Non-idempotent batch retries — the same wallet paid twice, unrecoverable
 
Sybil farms taking most of the supply — the airdrop funds bots, not users
 
Gas exhaustion mid-distribution — half-complete, unclear state
 
Eligibility rules changed after the snapshot — reputational, and permanent
 
Claim window too short — recoverable, but noisy
 

The first row is the one that ruins projects. A distribution script must be able to answer “has this wallet already been paid?” before every single transfer, and answer it from persisted state rather than from memory. Any script that loops through a list and sends will eventually be re-run after a failure and pay a chunk of the list twice.

What ShipWeb3 sells here

The play-to-earn Mini App is the fullest version of this: tasks, daily check-in, multi-level referrals with fraud scoring, leaderboards, and BEP-20 USDT withdrawals from a wallet you own with the key encrypted at rest. Rewards, caps and referral tiers are editable from the admin panel, which matters because you will retune them during a live campaign.

If you only need distribution, the USDT paying bot is the payout pipeline on its own. If you only need growth, the referral bot is the multi-level tree with the fraud scoring and review queue. The catalogue has the rest.

Common questions

S
ShipWeb3 Admin

Web3 developer building Telegram Mini Apps, bots and on-chain products.

Skip the build

Want this already working?

The code behind these articles is available as complete, deployable projects.