Merkle proof verify

$0.01 per call · failed calls are never charged · no account or subscription: pay per call with a card key or USDC

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.

Run it free (25 free calls) Buy credits by card (from $1) Example result (JSON)

Try it with your own inputs

The Merkle root (32-byte hex)
The proof: JSON array or comma-separated 32-byte hashes
The leaf hash, or the entry's fields (comma-separated or a JSON array) to hash with types

Uses one of your 25 free calls. Nothing is charged, and a call that fails is not counted.

Inputs

NameTypeDescription
root (required)stringThe Merkle root (32-byte hex)
proof (required)stringThe proof: JSON array or comma-separated 32-byte hashes
leaf (required)stringThe leaf hash, or the entry's fields (comma-separated or a JSON array) to hash with types
valuestringThe entry's fields, instead of leaf (comma-separated or a JSON array)
typesstringSolidity 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

Related tools