Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ZkVerify

FreeNot checked

Enables AI agents to fetch and independently verify on-chain data such as account balances and contract code hashes using Merkle proofs and ECDSA signatures, wi

GitHubEmbed

About

Enables AI agents to fetch and independently verify on-chain data such as account balances and contract code hashes using Merkle proofs and ECDSA signatures, with x402 payment integration.

README

Trustless blockchain verification over x402 with Merkle proofs + ECDSA signing

Live on Railway License: MIT

Why?

When an AI agent pays for blockchain data via x402, how does it know the data is authentic? It doesn't. 99% of x402 transactions are at risk (arXiv, July 2026 — 31 vulnerabilities found).

zkVerify solves this: every API response includes a Merkle proof + ECDSA signature. The agent can verify independently — zero trust required.

Endpoints

Endpoint Price Returns
GET /verify/balance/:address?chain=base $0.02 Account balance + Merkle proof + signature
GET /verify/contract/:address?chain=base $0.02 Contract code hash + signature
GET /health Free Service status + signer address
GET /.well-known/x402 Free x402 discovery (Bazaar)

Supported Chains

  • Base (L2 — fallback to eth_getBalance)
  • Ethereum (L1 — full eth_getProof / EIP-1186)
  • Polygon

How It Works

  1. Agent sends GET /verify/balance/0xABC...?chain=ethereum
  2. zkVerify returns HTTP 402 Payment Required
  3. Agent pays $0.02 USDC on Base via x402
  4. zkVerify: a. Fetches eth_getProof from RPC b. Verifies Merkle Patricia Proof against stateRoot c. Signs the result with ECDSA d. Returns: { balance, blockNumber, stateRoot, merkleProof, signature }
  5. Agent verifies: a. Signature (recoverAddress) b. Merkle proof locally (optional) c. stateRoot against block header (optional)
  6. Agent now has 100% verified on-chain data — no trust needed

Quick Start

For AI Agents (via x402)

curl https://zkverify-production.up.railway.app/verify/balance/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?chain=ethereum
# Returns: balance, Merkle proof (9 nodes), ECDSA signature, verified: true

SDK (Client-side verification)

import { fullVerify } from "zkverify";

const result = await fetch("https://zkverify-production.up.railway.app/verify/balance/0xABC...?chain=ethereum").then(r => r.json());
console.log(result.fullyVerified); // true = verified 100%

MCP Server

zkVerify includes an MCP server with 3 tools for Claude/Cursor:

{
  "mcpServers": {
    "zkverify": {
      "command": "npx",
      "args": ["-y", "zkverify-mcp"],
      "env": {
        "ZKVERIFY_URL": "https://zkverify-production.up.railway.app"
      }
    }
  }
}

Architecture

  • Merkle Patricia Proof: EIP-1186 eth_getProof from Ethereum L1
  • ECDSA Signing: Every response signed with secp256k1
  • x402 Payment: $0.02 USDC on Base
  • Zero Trust: Agent needs no trusted oracle — just math

Costs

  • $0 startup cost
  • Free RPC (PublicNode, Alchemy free tier)
  • x402 facilitator: free for first 1,000 transactions/day
  • Margin: 99% (after $0.001 facilitator fee)

Patent (Pending)

Title: "System and method for providing cryptographically verifiable API responses using Merkle proofs and ECDSA signatures over HTTP payment protocols"

See patent/USPTO_PROVISIONAL.md

ZK Circuit (Level 2)

A simplified circom circuit (~202 constraints) proves that verification was performed correctly without revealing proof data.

See circuits/zkverify.circom

License

MIT — free to use, modify, and distribute. Attribution appreciated.

Links


Built with ZKForge — the first x402 service providing cryptographically verifiable blockchain data.

from github.com/zkarchitect/zkverify

Installing ZkVerify

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/zkarchitect/zkverify

FAQ

Is ZkVerify MCP free?

Yes, ZkVerify MCP is free — one-click install via Unyly at no cost.

Does ZkVerify need an API key?

No, ZkVerify runs without API keys or environment variables.

Is ZkVerify hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install ZkVerify in Claude Desktop, Claude Code or Cursor?

Open ZkVerify on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare ZkVerify with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs