This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Snapshot-to-Merkle Airdrop Builder

Airdrops · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryAirdrops
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Snapshot-to-Merkle Airdrop Builder fetches voter or holder data from Snapshot.org (using the Snapshot GraphQL API), computes a Merkle tree from the list of addresses and their voting power or balances, and deploys a Merkle airdrop claim contract. This tool bridges the gap between Snapshot governance data and on-chain token distribution — perfect for airdropping tokens to active voters or community members based on their Snapshot voting power.

HOW TO USE

Connect your wallet using the built-in wallet connector. Enter the Snapshot space name (e.g., "uniswap") and optionally a specific proposal ID to fetch votes from a particular proposal. Provide the token contract address you wish to distribute. Click "Fetch snapshot holders" to retrieve the list of voters and their voting power from Snapshot.org. The tool automatically computes the Merkle root and total token amount. Review the holder count, total tokens, and Merkle root. Paste the Merkle airdrop factory contract address (you provide it — no hardcoded addresses). Click "Deploy airdrop contract" to deploy the claim contract via the factory. After deployment, click "Fund contract with tokens" to transfer the tokens from your wallet to the claim contract. The deployed contract address is displayed upon successful deployment.

TECHNICAL MECHANISM

The tool queries Snapshot.org's GraphQL API to fetch voting data for a given space or proposal. Each voter's address and voting power (vp) are extracted and used as the (address, amount) pairs for the Merkle tree. The tool computes the Merkle root by hashing each (address, amount) pair and pairing them recursively until a single root hash remains. This root is passed to the factory contract during deployment, along with the token address and an expiry block number. The factory deploys a minimal proxy claim contract that stores the root, token address, and tracks claimed amounts. Recipients can call the claim() function with their index, address, amount, and a Merkle proof derived from the tree. The contract verifies the proof against the stored root and transfers the specified amount if valid.

WHAT IT CANNOT SEE

This tool cannot verify snapshot data accuracy or completeness. It cannot detect if the snapshot was taken at a specific block that may have changed since the snapshot was taken. It cannot verify if holders still hold tokens at deployment time. It cannot detect if recipient contracts support token transfers or have custom logic that might revert. It cannot detect or prevent failures due to token-specific mechanisms including rebasing, fee-on-transfer, blacklist functionality, pausing, or custom transfer logic. It cannot simulate transactions or prevent reverts from custom recipient contract logic. It also cannot verify that the provided token contract address is a legitimate token. It cannot guarantee that all recipients will successfully claim their tokens. It cannot ensure the Merkle root is correct beyond the tool's own computation. It cannot recover unclaimed tokens after the claim period expires unless the contract implements a recovery mechanism. It cannot detect if recipients have already claimed through other mechanisms.

PLEASE NOTE

This tool works on EVM-compatible chains only. It requires the wallet to be connected and the current network to be one of the supported chains. The token contract address and factory address must be provided manually by the user. Always review the contract address, Merkle root, and total amount displayed before signing any transaction. Users are responsible for ensuring recipient addresses are correct and that they have sufficient balance to fund the airdrop contract. After deployment, the airdrop is self-service — recipients must claim their tokens independently using the proof data. This tool does not provide a user interface for recipients to claim tokens; you must provide the contract address and Merkle proofs to recipients through other means. The tool uses the Snapshot API which may have rate limits; large data sets may require pagination or additional handling.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.