zorch_12

Take your ZK research to production, fast.

zorch turns research ideas into production implementations: JAX-native building blocks for Modern SNARKs (IOP + PCS).

Libraries

Everything that runs on zorch

scheme

primitive

field

arith

Lean OpenVM prover on zorch blocks: SWIRL (LogUp-GKR, batched ZeroCheck with univariate skip, stacked opening reduction, WHIR PCS), byte-matched against openvm-stark-backend.

Run ↗

Lean SP1 prover on zorch blocks: SP1-specific commitment and prove glue (SMCS, shard prover, FFI) over fractalyze/zorch.

Run ↗

Lean ZisK prover on zorch blocks: pil2-stark Poseidon2-Goldilocks params, transcript, and stage-1 trace commit byte-matched against pil2-proofman.

Run ↗

GPU Groth16 prover for bellman (BN254). The h-FFT and all five MSMs in one fused GPU call, byte-identical to groth16::create_proof.

GPU port of Flock: R1CS-over-GF(2^128) PIOP (zerocheck + lincheck) with BaseFold/Ligerito PCS, byte-identical to upstream across Keccak / SHA-256 / BLAKE3.

Run ↗

Groth16 prover in Python using zorch — the Python counterpart of RabbitSNARK. Input/output compatible with the circom/snarkjs ecosystem; also proves from gnark binary exports.

Run ↗
accumulation-zorchaccumulation1

GPU accumulation prover over the Pasta cycle: the arkworks ark-accumulation prove path (r1cs_nark_as + hp_as, ipa_pc_as) authored in Python/JAX and run as a single fused GPU kernel, byte-identical to the reference prover.

Run ↗

Contribute

The cryptography community building the future.

The platform where the ZK community collaborates on schemes, implementations, and benchmarks.

Register your library with one YAML file, reviewed by PR.