Account created! Check your email for your API key. ×
Zero-knowledge proofs · ZK-STARK · Native MCP for AI agents

Zero-knowledge proofs,
in one API call.

Mint a ZK-STARK for any computation — cryptographic proof your code ran on the inputs it claims, without revealing them. Generate in seconds, verify in milliseconds. One curl, or one MCP install.

The only production prover that runs in O(√N) memory instead of O(N) (where N = size of the computation) — a 100M-step proof fits on a laptop instead of a 256-GB server.

Free tier · 100 proofs/month · No credit card · First proof in 60 seconds
Terminal
$ curl -X POST https://api.tinyzkp.com/prove/template/range_proof \
-H "Authorization: Bearer tzk_demo..." \
-d '{"params":{"min":0,"max":100,"witness_steps":[42,44]}}'
{"job_id":"prf_7x9k2m","status":"proving","eta_ms":1200}
$ curl https://api.tinyzkp.com/prove/prf_7x9k2m
{"status":"completed","proof":{"version":4,"bytes":"0x6a8f...","size_kb":12.4}}
$ curl -X POST https://api.tinyzkp.com/verify -d '{"proof":{...}}'
{"valid":true,"verified_in_ms":2.8} # free, auth required

Proved that 42 is in range [0, 100] without revealing the value. Verified in 2.8ms.

For AI Agent Builders

Mint verifiable receipts inside Claude, Cursor, and OpenAI agents — natively

TinyZKP ships as an MCP server with 10 tools. Your agent calls prove the way it calls any other tool. No glue code, no SDK juggling, no key handling outside the agent.

Claude Code Claude Desktop Cursor OpenAI Agents LangChain
# One-line install (Claude Code) claude mcp add --transport http \ tinyzkp https://mcp.tinyzkp.com

Or download the stdio binary for Claude Desktop, Cursor, and other clients.

Three Steps to Zero-Knowledge

Prove a password hash matches, a value is in range, or a computation is correct — without revealing any secrets.

1

Submit

POST to /prove/template/range_proof with your parameters. Choose from 6 built-in templates — or browse them via /templates. You get a job ID instantly.

2

Prove

Our servers generate a ZK-STARK proof using O(√N) memory, where N is the size of the computation. No trusted setup. No ceremony. Typical proofs complete in 1–5 seconds.

3

Verify

Anyone can verify the proof in milliseconds via /verify. Always free. Or get /calldata for on-chain verification. The verifier learns nothing except that the statement is true.

Get Started in 5 Lines

Python, TypeScript, or plain curl. Your first proof is free.

from tinyzkp import TinyZKP

async with TinyZKP("https://api.tinyzkp.com", api_key="tzk_...") as client:
    job_id = await client.prove_template("range_proof", params={"min": 0, "max": 100, "witness_steps": [42, 44]})
    proof  = await client.wait_for_proof(job_id)
    result = await client.verify(proof)  # free!
import { HcClient } from "tinyzkp";

const client = new HcClient("https://api.tinyzkp.com", { apiKey: "tzk_..." });
const jobId  = await client.proveTemplate("range_proof", { min: 0, max: 100, witness_steps: [42, 44] });
const proof  = await client.waitForProof(jobId);
const result = await client.verify(proof);  // free!
# Submit a proof via template (recommended)
curl -X POST https://api.tinyzkp.com/prove/template/range_proof \
  -H "Authorization: Bearer tzk_..." \
  -H "Content-Type: application/json" \
  -d '{"params":{"min":0,"max":100,"witness_steps":[42,44]}}'
# {"job_id":"abc123..."}

# Poll for result
curl https://api.tinyzkp.com/prove/abc123... \
  -H "Authorization: Bearer tzk_..."

# Verify (free)
curl -X POST https://api.tinyzkp.com/verify \
  -H "Authorization: Bearer tzk_..." \
  -d '{"proof":{...}}'
# Zero install, runs anywhere with Node 18+
export TINYZKP_API_KEY=tzk_...
npx @tinyzkp/cli prove range_proof '{"min":0,"max":100,"witness_steps":[42,44]}' --wait > proof.json
npx @tinyzkp/cli verify proof.json
# → ✔ valid  (round-trip 8 ms)
// Verify proofs client-side — no server, no API key
import init, { verify } from '@tinyzkp/verify';

await init();
const result = verify({ version: 4, bytes: proofBytes });
console.log(result.ok); // true — verified in WASM, offline

Two products on one prover

Pick the audience that matches what you're shipping. Verification is always free across every tier.

Range proofs, hash preimages, policy compliance, data integrity, accumulator steps, computation attestations. Sub-second proofs. The wedge for AI-agent receipts.

Free
$0
100 proofs/mo
No credit card · 10 RPM · 1 inflight job · community support
Start free
Developer
$19
per month
5,000 proofs/mo · 100 RPM · 4 inflight · $500 cap · email 48h
Get Developer

Annual billing: 20% off any paid plan. · Need a one-off large trace? Overage is metered per million steps; Scale tier gets a 40% discount off the per-proof base rate. Team-tier pricing is available — contact us for an intermediate plan.

The structural advantage

Other production STARK provers need O(N) memory — linear in computation size. TinyZKP's height-compressed architecture needs only O(√N), where N is the number of computation steps.

Trace Conventional STARK TinyZKP
1M steps10–20 GB RAM~30 MB
10M steps100+ GB RAM~100 MB
100M stepsNeeds fleet sharding~300 MB

Same cryptographic guarantees: ZK-STARK, ≥128-bit soundness, transparent, post-quantum. See the whitepaper →

Verification is always free across every tier · @tinyzkp/verify WASM package verifies anywhere in 5 ms

Get Free API Key Compute Brief

10 tools your agent gets for free

After claude mcp add ..., every tool below is callable from inside the agent.

list_templates describe_template prove_template poll_job get_proof get_proof_summary verify_proof list_workloads prove_workload get_capabilities

Local stdio install (Claude Desktop, Cursor):

{
  "mcpServers": {
    "tinyzkp": {
      "command": "hc-mcp-stdio",
      "args": ["--api-key", "tzk_..."]
    }
  }
}
No trusted setup
Post-quantum secure
Open source
Sub-5ms verification
Zero-knowledge mode
EVM on-chain ready