LIVE DEMO
Run on this device · WebAssembly · no server

Try ProveKit right here, right now

Pick a circuit, edit the private input, and generate a real zero-knowledge proof in your browser. Witness never leaves this page; only the public hash + proof get published.

01 · Circuit
02 · Private witness NEVER LEAVES BROWSER
03 · Public statement
I know x of length L such that SHA256(x) = y
y revealed after proof
SHA-256 · 17 rounds · 32-byte preimage BOOTING
Proving time
Proof size
Constraints
Witnesses
Status
BOOTING
BENCHMARKS
v1.0.0 · April 2026

ProveKit, measured against the field

A reproducible look at how ProveKit performs against TOOLKIT 1 and TOOLKIT 2 across proving time, memory, and verification cost, measured on commodity client hardware, with the dataset and methodology published in full below.

METHODOLOGY

How these numbers were captured

Each toolkit ran the same Groth16 reference circuit against a fixed set of input batches. We report the median of 50 runs after a 10-run warmup; raw timing data and the harness are linked from the repo.

Hardware
MacBook Pro
M2 Pro · 16 GB · macOS 14.4
Toolchain
rustc 1.79
release · LTO fat · codegen 1
Dataset
ZK-bench v3
2¹⁰ – 2²² constraints
Runs
50
median reported · 10-run warmup
Reproducible
SHA 4f1c…ae2
harness pinned at HEAD
01 · PROVING TIME

Proving time

ProveKit generates proofs ~36% faster than comparable client-side toolkits on commodity hardware.

+36% Faster
Test setup
  • Measured on Groth16 reference circuit, 2¹⁸ constraints
  • All toolkits compiled with Rust 1.79 · release · LTO fat
  • Single-threaded; multi-thread variants linked in raw results
Series
TOOLKIT 1
TOOLKIT 2
PROVEKIT
0s 10s 20s 30s 40s 2¹⁰ 2¹⁴ 2¹⁸ 2²² CIRCUIT SIZE 2¹⁰ Toolkit 0s Toolkit 0s Toolkit 0s
Median
2.8s
p95
4.1s
p99
6.3s
Speedup
+36%
02 · MEMORY FOOTPRINT

Memory footprint

A streamlined Rust core keeps the resident set ~24% lighter than the next nearest toolkit.

+24% Lighter
Test setup
  • Peak resident set sampled at 50 ms during proving
  • Heap profile captured with macOS leaks(1) and dtrace
  • ProveKit reuses witness arenas across batched proofs
Series
TOOLKIT 1
TOOLKIT 2
PROVEKIT
92 MB
TOOLKIT 1
64 MB
TOOLKIT 2
38 MB
PROVEKIT
Peak RSS
38 MB
Steady
31 MB
Page-ins
0
vs next
−24%
03 · VERIFICATION COST

Verification cost

Verifier circuits compile to a fraction of the gate count, keeping verification cheap on chain and off.

−68% Gates
Test setup
  • Gate counts measured at the verifier circuit only
  • On-chain costs reflect a Groth16 verifier on EVM Cancun
  • Proof bytes constant across circuit families
Series
TOOLKIT 1
TOOLKIT 2
PROVEKIT
0 k 30 k 60 k 90 k 120 k 42 28 18 Setup 38 24 14 Compile 90 64 32 Verify 120 80 42 Settle STAGE
Verify gates
32k
On-chain
210k gas
Proof bytes
192 B
vs Toolkit 1
−68%
SUMMARY

Side-by-side

Hover a row to compare across toolkits; click a toolkit header to sort by its strongest results. Best value per row reads in brand blue.

Sorted by PROVEKIT
Metric
TOOLKIT 1
TOOLKIT 2
PROVEKIT
01 Proving time @ 2¹⁸ ↓ better
9.5s
6s
2.8s best
02 Memory peak ↓ better
92 MB
64 MB
38 MB best
03 Verifier gates ↓ better
90k
64k
32k best
04 Proof bytes ↓ better
256 B
224 B
192 B best
05 Verify (EVM) ↓ better
620k gas
420k gas
210k gas best
06 Throughput ↑ better
0.1 p/s
0.16 p/s
0.36 p/s best