Skip to main content
Glama

zkVerify

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.

Related MCP server: Tilde x402 MCP Server

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.


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

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Pay-per-use weather, environment, finance, and on-chain intelligence tools for AI agents via x402.

  • Pay-per-call AI + on-chain data via x402. Free handshake; each call bills USDC on Base.

  • Pay-per-call x402 gateway: agent tools, OpenAI-compatible LLM, market data, RPC, security audits.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zkarchitect/zkverify'

If you have feedback or need assistance with the MCP directory API, please join our Discord server