Take your ZK research to production, fast.
zorch turns research ideas into production implementations: JAX-native building blocks for Modern SNARKs (IOP + PCS).
import zorch
import zorch.numpy as znp # NumPy for field operations
from zk_dtypes import babybear # ZK field dtypes
class Brakedown(zorch.PCS):
@zorch.jit # JIT-compiled to fused GPU kernels
def commit(self, poly: znp.array) -> Commitment: ...
@zorch.jit
def open(self, c: Commitment, points: znp.array) -> Proof: ...
# Compose a prover from the blocks you choose
prover = zorch.Prover(field=babybear, pcs=Brakedown())
proof = prover.prove(input)
Libraries
Everything that runs on zorch
scheme
primitive
field
arith
JAX-native building blocks for Modern SNARKs (IOP + PCS). Proving-scheme- and zkVM-agnostic, fusion-first.
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.
Lean SP1 prover on zorch blocks: SP1-specific commitment and prove glue (SMCS, shard prover, FFI) over fractalyze/zorch.
1.6× vs SP1's hypercube prover (upstream)
Lean ZisK prover on zorch blocks: pil2-stark Poseidon2-Goldilocks params, transcript, and stage-1 trace commit byte-matched against pil2-proofman.
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.
First working GPU implementation
GPU Groth16 prover for bellman (BN254). The h-FFT and all five MSMs in one fused GPU call, byte-identical to groth16::create_proof.
2.2× vs Gnark's Groth16 GPU prover
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.
Performance numbers are measured by maintainers on pinned hardware against upstream, never self-reported.
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.