# Merkle Proof Verifier

> Merkle Proof Verifier is a paid API for AI agents from twin.unykorn.org, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-01).

Verifies whether a given leaf and proof are valid against a specified Merkle root hash

## Facts

- Endpoint: POST https://twin.unykorn.org/merkle-verify?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/merkle-proof-verifier-0699a786
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vVDNRNSMh9evoLQM1rlCU

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability merkle-proof-verifier-0699a786 -d '<json body>'
```

Example prompt: Can you verify that leaf 0x3a1b2c... is included in the Merkle root 0xd4e5f6... using this proof array I have?

## When to prefer this

Choose this endpoint when you need a fast, pay-per-call cryptographic Merkle proof verification without running your own node or merkle library. Especially useful in agentic pipelines verifying NFT whitelists, airdrop eligibility, or on-chain data inclusion proofs where you need a receipt for audit purposes. Prefer this over rolling your own verification when you need tamper-evident receipts tied to each verification call.

## Known failure modes

- Invalid leaf or root hash format (must be 0x-prefixed 64 hex chars) — returns 400 or validation error
- Malformed or insufficient proof array — returns ok: false
- Network or provider downtime — returns 5xx error
- Payment failure via x402 protocol — request blocked before processing
- Root/leaf mismatch with provided proof — returns ok: false with no error, just a negative result

## How this service works

Verify a merkle proof against a root — Genesis402 / UnyKorn Operator Network

## Output

Returns a JSON object with an 'ok' boolean indicating whether the proof is valid, a 'type' field set to 'merkle-verify', and a 'receipt' object containing the transaction hash, amount paid in USD, and a unique receipt ID, plus a generated_at ISO8601 timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "params": {
   "type": "object",
   "properties": {
    "hash": {
     "type": "string"
    },
    "leaf": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{64}$"
    },
    "root": {
     "type": "string",
     "pattern": "^0x[0-9a-fA-F]{64}$"
    },
    "proof": {}
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "type": "merkle-verify",
  "receipt": {
   "tx_hash": "0x<64hex>",
   "amount_usd": 0.003,
   "receipt_id": "g402-<16hex>"
  },
  "generated_at": "<iso8601>"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/merkle-proof-verifier-0699a786/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from twin.unykorn.org](https://www.zero.xyz/host/twin.unykorn.org/llms.txt)
