Garaga

State-of-the-Art Elliptic Curve Tooling & ZK Proof Verification for Starknet
Garaga enables efficient verification of zero-knowledge proofs and cryptographic operations on Starknet. It achieves state-of-the-art performance through:
A dedicated builtin from StarkWare for emulated modular arithmetic
Non-deterministic techniques for extension field multiplication, pairings, and multi-scalar multiplication
Precomputed verification hints that dramatically reduce on-chain computation
What Can You Build?
🛡️ ZK Proof Verification
Verify Groth16 and Honk proofs on-chain with production-ready verifier contracts.
🔗 zkVM Integration
Verify proofs from RISC Zero and SP1 using maintained, audited contracts.
✍️ Signature Verification
ECDSA, Schnorr, and EdDSA verification across multiple elliptic curves.
🎲 Verifiable Randomness
On-chain verification of drand beacon signatures for provably fair randomness.
🧮 Elliptic Curve Operations
Multi-scalar multiplication on 6 curves, pairing operations for BN254/BLS12-381.
🔒 Privacy-Preserving dApps
Build applications with Noir/Honk circuits for complex privacy logic.
Architecture Overview
Performance
Garaga achieves remarkable efficiency through optimized Cairo implementations. See the full benchmark suite for detailed metrics on all operations including:
Groth16 verification (BN254 & BLS12-381)
Honk/Noir proof verification
RISC Zero & SP1 proof verification
Signature verification (ECDSA, Schnorr, EdDSA)
Multi-scalar multiplication
Pairing operations
Version Compatibility
Important: Garaga SDK versions (Python, Rust, npm) must match across your toolchain to ensure calldata is correctly formatted for on-chain verification.
For generated contracts (Groth16, Noir): Use the same SDK version that generated your verifier contract
For maintained contracts (RISC Zero, SP1, drand): Use the SDK version matching the Garaga release that declared the contract class hashes
All packages are released together with matching version numbers (e.g., pip install garaga==1.0.1 + garaga = "1.0.1" in Scarb.toml + garaga_rs tag v1.0.1 + npm install garaga@1.0.1).
Quick Start
1. Install
Or add to Scarb.toml:
2. Generate a Verifier Contract
3. Deploy & Verify
Production Ready
Garaga is used in production by teams building:
Validity rollups and L2 solutions
Cross-chain bridges with ZK verification
Privacy-preserving applications
Verifiable computation platforms
Security
✅ Audited by CryptoExperts
✅ Battle-tested on Starknet mainnet
✅ Open source under MIT license
Resources
Telegram: t.me/GaragaPairingCairo
Academic Papers: See References below
References
Garaga's cryptographic implementations are based on peer-reviewed research:
Groth16: Groth, J. "On the Size of Pairing-Based Non-interactive Arguments." EUROCRYPT 2016. ePrint 2016/260
Efficient Pairings: El Housni, Y. "Pairings in Rank-1 Constraint Systems." ePrint 2022/1162
ECIP: Eagen, L. "Zero Knowledge Proofs of Elliptic Curve Inner Products." ePrint 2022/596
On Proving Pairings: Novakovic, A. & Eagen, L. ePrint 2024/640
Fast EC Scalar Multiplications: Eagen, L., El Housni, Y., Masson, S., Piellard, T. ePrint 2025/933
Last updated
Was this helpful?