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.

LIVE DEMO
Run on this device · WebAssembly · no server

Try ProveKit right here, right now Try the demo

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 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
METHODOLOGY

How these numbers were captured

Same Groth16 circuit, fixed input batches. Median of 50 runs after a 10-run warmup.

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