The MerkleAirdrop contract is designed to distribute tokens to eligible users over a claiming period, with the expectation that the project may need to recover any unclaimed tokens after the airdrop concludes for reallocation or treasury return.
The contract provides no mechanism for the owner to withdraw unclaimed tokens after the airdrop period ends, permanently locking any tokens that users fail to claim due to lost private keys, lack of awareness, or disinterest in the airdrop.
Likelihood:
Users lose private keys for their eligible addresses, making it impossible for them to claim their allocation
Users remain unaware of the airdrop despite announcement efforts, leaving their allocation unclaimed indefinitely
The airdrop concludes after a reasonable claiming period (30-90 days), but significant portions remain unclaimed
Historical data shows 10-30% of airdrop allocations typically go unclaimed in real-world distributions
Impact:
Permanent capital inefficiency as unclaimed tokens are locked in the contract forever with no recovery mechanism
Project cannot reallocate unclaimed tokens to a new airdrop round or distribute them to active community members
Loss of treasury assets that could otherwise be used for protocol development, liquidity provision, or future incentive programs
Poor user experience for the project team who must deploy a new contract and repeat the entire process for subsequent airdrops
Add a time-locked withdrawal function to allow owner to recover unclaimed tokens after a reasonable period:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.