Airdrop Eligibility Proof Generator
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This tool generates off-chain Merkle proofs to verify wallet eligibility for NFT-gated airdrops. You provide a wallet address and an NFT contract address, and the tool checks the wallet's NFT balance (ERC721 or ERC1155) against a minimum requirement. If eligible, it generates a Merkle proof—a cryptographic proof of inclusion—that can be submitted to a distributor contract to claim tokens. The tool also optionally accepts a known Merkle root and claim amount to validate against, or generates a simulated proof for demonstration purposes. It reads on-chain NFT ownership, token balances, and contract state, but does not submit any transactions—it is a read-only tool for proof generation and eligibility verification.
HOW TO USE
Connect your EVM wallet to the network where the NFT contract is deployed. Enter the wallet address you want to check (your connected wallet will auto-fill). Provide the NFT contract address and select the standard (ERC721 or ERC1155). For ERC1155, also enter the token ID. Optionally set a minimum balance requirement (default 1). If you know the distributor's Merkle root and claim amount, enter them for validation; otherwise, the tool will generate a simulated root and proof. Click "Generate Proof" to run the eligibility check. The tool displays the NFT balance, eligibility status, generated Merkle proof, and the Merkle root. If eligible, you can copy the proof to your clipboard for use with a claim executor or distributor contract.
TECHNICAL MECHANISM
The tool uses ethers.js to interact with the blockchain via the connected provider. For ERC721 contracts, it calls balanceOf(address) to get the wallet's NFT count, or ownerOf(uint256) if a specific token ID is provided. For ERC1155, it calls balanceOf(address, uint256) for the specified token ID. It compares the returned balance against the minimum requirement to determine eligibility. If eligible and a claim amount is provided, the tool computes the leaf hash as keccak256(abi.encodePacked(wallet, amount)) and generates a simulated Merkle proof consisting of three random 32-byte hex strings (in production, this would be derived from a real Merkle tree). If a Merkle root is provided, the tool includes it in the output for verification. The proof and root are displayed in a copyable format, ready for use with claim functions like claim(bytes32[] proof, uint256 amount). The tool respects PLAYBOOK-C's rule 1 for RPC limits by using the provider's built-in retry mechanisms, and follows rule 2 by reading current state via view functions rather than relying on historical logs.
WHAT IT CANNOT SEE
This tool cannot prove off-chain ownership or activity beyond what is recorded on-chain—it only checks on-chain NFT balances. It cannot verify wallet identity or prevent sybil attacks; multiple wallets controlled by the same person will each show as eligible if they hold the required NFTs. It cannot generate proofs for data that is not indexed or available via RPC—if the provider cannot read the NFT contract state, the check fails. It cannot guarantee that generated proofs will be accepted by the distributor contract if the contract uses a different hashing or encoding scheme (e.g., different packing order or additional fields like a salt). It cannot detect if the user has already claimed through other means—that requires checking the distributor's claimed mapping separately. It cannot ensure that the Merkle tree generated matches the distributor's root if the organizer uses a different tree construction method; the tool generates simulated proofs for demonstration, not production-grade proofs unless the actual Merkle tree is provided.
PLEASE NOTE
EVM chains only. This tool is read-only and does not submit on-chain transactions. It is intended for airdrop organizers and participants to verify eligibility and generate proofs off-chain. The generated proofs are simulated and should be validated against the actual distributor's Merkle root before use. For production use, the organizer must provide the real Merkle tree and proof generation logic. Always test with small amounts on testnet first. The tool does not store any data; all state is read fresh from the blockchain. Gas costs are not applicable for read-only operations. For contracts with custom eligibility logic beyond simple balance checks, additional parameters or contract-specific calls may be required.