Merkle Proof Claim Executor
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 enables users to submit Merkle proofs to claim tokens from airdrop distributors that implement Merkle-based claiming. You provide the distributor contract address, your claim amount, and the Merkle proof (a list of hex strings) that was generated off-chain by the airdrop organizer. The tool formats the proof, encodes the appropriate claim function call, and submits the transaction to the blockchain. It supports multiple claim function signatures including claim(bytes32[] proof, uint256 amount), claim(address user, bytes32[] proof, uint256 amount), and claimTokens(bytes32[] proof, uint256 amount, address token). The tool also checks if you have already claimed, preventing wasted gas on duplicate attempts.
HOW TO USE
Connect your EVM wallet to the network where the distributor contract is deployed. Enter the distributor contract address, your claim amount in human-readable units, and the token decimals (default 18). Paste your Merkle proof into the text area—one hex string per line or comma-separated. Choose the claim function signature that matches your distributor's implementation. Optionally specify a beneficiary address if using the claimMulti function (leave blank to use your connected wallet). Review the preview showing your proof entries, amount, and beneficiary. Click Submit Claim to send the transaction. The tool will verify the proof on-chain, execute the claim, and display the result with transaction hash and gas cost.
TECHNICAL MECHANISM
The tool uses ethers.js to interact with the distributor contract, dynamically encoding the appropriate function call based on the selected signature. For claim(bytes32[] proof, uint256 amount), it passes the proof array and the amount in wei. For claim(address user, bytes32[] proof, uint256 amount), it includes the beneficiary address as the first parameter, allowing claims on behalf of others (used in some multi-claim distributor patterns). For claimTokens, it retrieves the token address from the distributor's token() view function and passes it to the claim. The tool parses the proof text input by splitting on newlines or commas, filters for valid 32-byte hex strings, and validates each proof entry before encoding. It also performs a pre-check by calling claimed(), isClaimed(), or hasClaimed() view functions to display your claim status before submitting, saving gas if you have already claimed. The transaction uses the connected signer's gas estimation and reports effectiveGasPrice from the receipt for accurate cost calculation, following EIP-1559 standards. The tool handles reverts gracefully, surfacing the underlying error reason (e.g., "invalid proof", "already claimed") using a custom reason extractor.
WHAT IT CANNOT SEE
This tool cannot generate Merkle proofs or Merkle trees off-chain—it requires pre-generated proofs from the airdrop organizer. It cannot verify the fairness or correctness of the off-chain Merkle tree; it trusts that the organizer constructed the tree correctly. It cannot prove that the user is included in the tree beyond what the on-chain proof verification confirms—if the proof is valid, the contract accepts it, but the tool cannot audit the tree. It cannot detect if the user has already claimed through other means (e.g., a different frontend or a batch claim); it relies on the contract's claimed mapping. It cannot recover from a failed claim due to insufficient gas, network congestion, or wallet issues—the user must retry. It cannot claim on behalf of others without their private key or an authorized signature, except when using claimMulti with a beneficiary address but the transaction must still be signed by the caller.
PLEASE NOTE
EVM chains only. This tool works with any EVM-compatible network. You must have the Merkle proof provided by the airdrop organizer—this tool does not generate proofs. Ensure the claim amount matches the amount in the Merkle tree; mismatched amounts will cause proof verification to fail. Always test with a small amount on testnet first. The tool does not store any data; all state is on-chain. Gas costs vary by network and proof length (longer proofs = higher gas). For distributors with custom claim functions not covered by the supported signatures, you may need to use a custom script or adjust the function selection.