OpenChainGraph Suite · ART-605 · EVM-Standard Math
Merkle Airdrop-Proof Verifier
Recomputes a Merkle airdrop-claim proof from a declared leaf (address, amount) and sibling proof path up to a claimed_root, OpenZeppelin MerkleProof.verify shape (processProof / _hashPair). Leaf encoding (double- or single-hash) and pair hashing (sorted/commutative or explicit left/right position) are both declared parameters, never assumptions. An optional claimed_path re-verifies a prior proof trace and reports the earliest step where the recompute diverges.
Merkle / Airdrop Claimkeccak256 (vendored, no hand-rolled crypto)Pure hash recompute, no chain reads
๐ All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data โ use synthetic or anonymised inputs only.
What This Does and Does Not Prove
A recomputed root that matches claimed_root proves the declared leaf, in combination with the declared sibling path, hashes up to that root under the declared encoding/pair-sort rules. Nothing more. This node does NOT know whether claimed_root is the root actually recorded on any chain, whether this leaf's allocation has already been claimed or redeemed, whether the underlying tree was built correctly from the full allocation list, or who controls the address. It never fetches on-chain state and is never a party to a claim transaction.
Leaf Fields
sorted / commutative (OpenZeppelin default). Uncheck to require explicit left/right position per proof step.
Sibling Path & Claimed Root
Empty array [] means the leaf itself is the root (depth 0). When pair_sort is unchecked, each entry must be {"sibling":"0x...","position":"left"|"right"} instead of a plain hash string.
Paste a prior run's path[].running_hash values here to test whether a possibly-altered proof/leaf still reproduces the same step-by-step trace. Leave as [] to just verify the root.
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.
Run the AINumbers MCP tool `verify_merkle_airdrop_proof`. Task: Recompute a Merkle airdrop-claim proof from a declared leaf (address, amount) and sibling path to a claimed root, OpenZeppelin MerkleProof.verify shape, and optionally re-verifies a prior proof trace to report the earliest step where a recompute diverges.
Call it with arguments: {"policy_parameters":{"address":"0x1111111111111111111111111111111111111111","amount":"1000000000000000000","encoding_variant":"double-hash","proof":[],"claimed_root":"0xb38ec842db1cd54e5e5ce48491f1a404551e9726ebda349d0478e189e0996dd4"}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string, or re-run the in-page WebMCP tool `verify_merkle_airdrop_proof`.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data โ use synthetic or anonymised inputs only.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-605-merkle-airdrop-proof-verifier.html#p=v1.H4sIAAAAAAAA_wHXACj_eyJhZGRyZXNzIjoiMHgxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExIiwiYW1vdW50IjoiMTAwMDAwMDAwMDAwMDAwMDAwMCIsImVuY29kaW5nX3ZhcmlhbnQiOiJkb3VibGUtaGFzaCIsInByb29mIjpbXSwiY2xhaW1lZF9yb290IjoiMHhiMzhlYzg0MmRiMWNkNTRlNWU1Y2U0ODQ5MWYxYTQwNDU1MWU5NzI2ZWJkYTM0OWQwNDc4ZTE4OWUwOTk2ZGQ0In3ZFhHn1wAAAA