sp1-verifier

Crates.iosp1-verifier
lib.rssp1-verifier
version5.2.4
created_at2024-11-07 20:38:40.786362+00
updated_at2025-12-15 20:46:26.378819+00
descriptionVerifier for SP1 Groth16 and Plonk proofs.
homepage
repositoryhttps://github.com/succinctlabs/sp1
max_upload_size
id1440160
size221,406
Matt Stam (mattstam)

documentation

README

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.

Commit count: 2756

cargo fmt