Skip to content
ihategas.xyz

Merkle Proof

Runs offline

Build a Merkle tree and export proofs for an allowlist.

one per line
Merkle root5 leaves · depth 3
0xe3c2114bd2ae7b7d6bc0d3c3ff398072e4fd263be29cc06e15deca3af3279af9

Proof for

Leaf
0x06e120c2c3547c60ee47f712d32e5acf38b35d1cc62e23b055a69bb88284c281
Proof3 nodes — paste into your claim call
["0xab14d68802a763f7db875346d03fbf86f137de55814b191c069e721f47474733","0xe167e4b1a1a78968f8389fc1b9774368a8a27615b12c2c62985d56ed6003fca1","0x491ded984cd17b1afee6ccb6ef366c53dd79f50b592816adc12e9302a9f2b36c"]
Proof verifies against the root. Pairs are sorted before hashing, so this works with OpenZeppelin's MerkleProof library as-is.
Leaves are keccak256(address). If your contract hashes something else — an address and an amount, or a double-hashed leaf — the root will not match, so check the contract first.

About merkle proof

A Merkle tree compresses a list of thousands of addresses into a single thirty-two byte root, so a contract can verify membership without storing the list. Each claimant supplies a short proof — one hash per level of the tree — and the contract recomputes the root from their leaf. This builds an OpenZeppelin-compatible tree, sorting each pair before hashing so proofs need no left-or-right flags. The leaf format has to match the contract that will verify the proof: hashing an address alone and hashing an address with an amount give different trees.

More developer tools