ZK Tools
Proving systems, circuit languages, constraint analyzers, and audit tooling for zero-knowledge development.
Circom
A domain-specific language and compiler for writing arithmetic circuits used in zk-SNARK proof systems.
snarkjs
JavaScript/WASM implementation of zk-SNARK proving and verification, including Groth16 and PLONK, with trusted setup ceremony tooling.
circomlib
The standard library of audited circom circuit templates: hashes, signatures, comparators, Merkle trees, and more.
Halo2
Zcash's Rust proving system implementing PLONKish arithmetization with no trusted setup, widely forked across the ZK ecosystem.
Noir
Aztec's Rust-like language for writing zero-knowledge circuits with a backend-agnostic intermediate representation (ACIR).
Barretenberg
Aztec's C++ cryptography backend implementing PLONK-family proving systems, used as the default prover for Noir.
gnark
Consensys' fast zk-SNARK library in Go with a high-level circuit API, implementing Groth16 and PLONK.
arkworks
A modular Rust ecosystem of libraries for zk-SNARK development: finite fields, elliptic curves, R1CS, and proof systems.
lambdaworks
LambdaClass's Rust library of SNARK and STARK primitives focused on performance and usability for prover development.
Plonky2
Polygon Zero's recursive SNARK framework combining PLONK with FRI for fast recursion over the Goldilocks field.
Plonky3
A modular toolkit of STARK proving components (fields, hashes, PCS, AIR) that serves as the proving backbone for zkVMs like SP1.
Winterfell
A Rust STARK prover and verifier originally developed at Facebook/Meta, designed for AIR-based computations.
Cairo
StarkWare's provable programming language for writing STARK-verifiable programs, the native language of Starknet.
Cairo-Fuzzer
FuzzingLabs' coverage-guided fuzzer for Cairo and Starknet smart contracts.
Leo
A statically-typed programming language for private applications on Aleo, compiling to Aleo instructions proven with zk-SNARKs.
SP1
Succinct's open-source zkVM that proves execution of ordinary Rust programs using a Plonky3-based STARK stack.
RISC Zero
A general-purpose zkVM proving RISC-V execution, with the Bonsai proving service and an on-chain verifier ecosystem.
ZoKrates
A toolbox for zk-SNARKs on Ethereum: a high-level language, compiler, and proof pipeline with Solidity verifier export.
Circomspect
Trail of Bits' static analyzer and linter for circom, detecting under-constrained signals and other circuit anti-patterns.
Picus
Veridise's automated verifier that detects under-constrained circuits by checking uniqueness of witness outputs.
halo2-analyzer (Korrekt)
Quantstamp's analysis tool for detecting under-constrained halo2 circuits.
Ecne
An R1CS constraint verification tool that checks circom circuits for under-constrained outputs, originating from the 0xPARC community.
ZK Bug Tracker
0xPARC's community-maintained catalog of real ZK vulnerabilities found in the wild and in audits, organized by bug class.
ZKsync Era
Matter Labs' EVM-compatible ZK rollup, with its zkEVM circuits, prover (Boojum), and node software fully open source.
Scroll
An EVM-equivalent ZK rollup whose zkEVM circuits are built on the halo2 proving stack, with open-source node and circuit code.