Merkle proof verify
Check a Merkle proof against a root, the way OpenZeppelin's MerkleProof.verify does on chain (sorted-pair keccak256): give the leaf hash, or the entry's values and their Solidity types (double-keccak OpenZeppelin leaf). Returns valid true or false and the root the proof leads to. Use before submitting an airdrop claim or to debug an allowlist mint.
Inputs
| Name | Type | Description |
|---|---|---|
root (required) | string | The Merkle root (32-byte hex) |
proof (required) | string | The proof: JSON array or comma-separated 32-byte hashes |
leaf (required) | string | The leaf hash, or the entry's fields (comma-separated or a JSON array) to hash with types |
value | string | The entry's fields, instead of leaf (comma-separated or a JSON array) |
types | string | Solidity types of value's fields (default address,uint256) |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/merkle/verify?root=0xd4dee0beab2d53f2cc83e567171bd2820e49898130a22622b10ead383e90bd77&proof=%5B%220xb92c48e9d7abe27fd8dfd6b5dfdbfb1c9a463f80c712b66f3a5180a090cccafc%22%5D&leaf=0xeb02c421cfa48976e66dfb29120745909ea3a0f843456c263cf8f1253483e283"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/merkle/verify?root=0xd4dee0beab2d53f2cc83e567171bd2820e49898130a22622b10ead383e90bd77&proof=%5B%220xb92c48e9d7abe27fd8dfd6b5dfdbfb1c9a463f80c712b66f3a5180a090cccafc%22%5D&leaf=0xeb02c421cfa48976e66dfb29120745909ea3a0f843456c263cf8f1253483e283&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
Example result
{
"valid": true,
"root": "0xd4dee0beab2d53f2cc83e567171bd2820e49898130a22622b10ead383e90bd77",
"computedRoot": "0xd4dee0beab2d53f2cc83e567171bd2820e49898130a22622b10ead383e90bd77",
"leaf": "0xeb02c421cfa48976e66dfb29120745909ea3a0f843456c263cf8f1253483e283",
"proofLength": 1
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is merkle_verify, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp