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.
revealed after proof 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.
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.
Proving time
ProveKit generates proofs ~36% faster than comparable client-side toolkits on commodity hardware.
- 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
Memory footprint
A streamlined Rust core keeps the resident set ~24% lighter than the next nearest toolkit.
- 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
Verification cost
Verifier circuits compile to a fraction of the gate count, keeping verification cheap on chain and off.
- Gate counts measured at the verifier circuit only
- On-chain costs reflect a Groth16 verifier on EVM Cancun
- Proof bytes constant across circuit families
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.