25 stable releases

5.2.4 Dec 15, 2025
5.2.3 Nov 18, 2025
5.2.2 Oct 7, 2025
5.1.0 Jul 25, 2025
3.4.0 Nov 29, 2024

#705 in Compression

Download history 1118/week @ 2025-09-20 883/week @ 2025-09-27 721/week @ 2025-10-04 762/week @ 2025-10-11 358/week @ 2025-10-18 470/week @ 2025-10-25 836/week @ 2025-11-01 581/week @ 2025-11-08 1189/week @ 2025-11-15 9234/week @ 2025-11-22 9285/week @ 2025-11-29 11217/week @ 2025-12-06 8990/week @ 2025-12-13 2639/week @ 2025-12-20 3939/week @ 2025-12-27 4905/week @ 2026-01-03

23,059 downloads per month
Used in 24 crates (4 directly)

MIT/Apache

280KB
6K SLoC

SP1 Verifier

This crate provides verifiers for SP1 Groth16 and Plonk zero-knowledge proofs. These proofs are expected to be generated using the SP1 SDK.

Features

Groth16 and Plonk proof verification are supported in no-std environments. Verification in the SP1 zkVM context is patched, in order to make use of the bn254 precompiles.

Pre-generated verification keys

Verification keys for Groth16 and Plonk are stored in the bn254-vk directory. These vkeys are used to verify all SP1 proofs.

These vkeys are the same as those found locally in ~/.sp1/circuits/<circuit_name>/<version>/<circuit_name>_vk.bin, and should be automatically updated after every release.

Tests

Run tests with the following command:

cargo test --package sp1-verifier

These tests generate a groth16/plonk proof and verify it.

Acknowledgements

Adapted from @Bisht13's gnark-bn254-verifier crate.

Dependencies

~4–40MB
~597K SLoC