---
title: "Spartan"
description: "Spartan: Transparent SNARK for R1CS. Setup: None (commitment-dependent). Proof size: Depends on commitment."
type: "option"
url: "https://zkpick.com/proof-systems/spartan/"
section: "01 Choosing a proof system"
authors:
  - "MarketComp"
publisher: "MarketComp"
version: "1.3"
updated: "2026-09-12"
license: "CC-BY-4.0"
json: "https://zkpick.com/data/proof-systems/spartan.json"
---

*By MarketComp. Updated 2026-09-12. Version 1.3. CC BY 4.0.*

# Spartan — *Transparent SNARK for R1CS*

> Spartan: Transparent SNARK for R1CS. Setup: None (commitment-dependent). Proof size: Depends on commitment. On-chain verification: Not a settlement candidate alone. PQ: Commitment-dependent. Recursion: Used inside larger systems. Maturity: Established construction, widely built upon. Prover cost profile: Sumcheck over sparse R1CS; no FFT; linear in non-zero constraint entries. Peak prover memory: Low and streaming-friendly. Off-chain verifier: Sublinear after preprocessing; commitment-dependent. Implementations and maintainers: Spartan (Microsoft Research), inside Jolt (a16z crypto) and Nexus. Where it is measured: Only inside zkVM benchmarks. Choose it when: An intermediate proof layer, or the theoretical core of a zkVM — particularly when you want to change commitment schemes without changing arithmetisation.

A transparent SNARK for R1CS built on sumcheck and a multilinear commitment, with sublinear verification after preprocessing and no FFTs. Its distinguishing property is that the commitment scheme is swappable.

**Strengths**

- No trusted setup, and the commitment is swappable — so post-quantum posture becomes a separate, independent choice
- No FFT in the prover; costs are linear in the number of constraint entries
- The sumcheck structure has become the foundation for much newer work

**Tradeoffs**

- Proof size and verifier cost are worse than pairing-based SNARKs; not an EVM settlement candidate alone
- Concrete performance depends almost entirely on the chosen commitment, so 'Spartan is fast' is not a meaningful statement unqualified
- The reference implementation is a research artefact rather than a maintained product

**Choose it when:** An intermediate proof layer, or the theoretical core of a zkVM — particularly when you want to change commitment schemes without changing arithmetisation.

Maintained by: Srinath Setty (Microsoft Research, 2019). Implementations: Spartan (Microsoft Research), inside Jolt (a16z crypto) and Nexus · Maturity: Established construction, heavily built upon · License: n/a (construction) · Source: https://eprint.iacr.org/2019/550

**In the proof system selection matrix** (https://zkpick.com/proof-systems/#proof-systems-matrix-spartan)

| Family | Setup | Proof size | On-chain verification | PQ | Recursion | Maturity |
| --- | --- | --- | --- | --- | --- | --- |
| Spartan | None (commitment-dependent) | Depends on commitment | Not a settlement candidate alone | Commitment-dependent | Used inside larger systems | Established construction, widely built upon |

**In the prover profile, implementations and benchmarks** (https://zkpick.com/proof-systems/#proof-systems-matrix-2-spartan)

| Family | Prover cost profile | Peak prover memory | Off-chain verifier | Implementations and maintainers | Where it is measured |
| --- | --- | --- | --- | --- | --- |
| Spartan | Sumcheck over sparse R1CS; no FFT; linear in non-zero constraint entries | Low and streaming-friendly | Sublinear after preprocessing; commitment-dependent | Spartan (Microsoft Research), inside Jolt (a16z crypto) and Nexus | Only inside zkVM benchmarks |
