{
  "type": "option",
  "name": "Cairo and the Stwo prover",
  "slug": "cairo-stwo",
  "section": {
    "id": "frameworks",
    "number": "02",
    "title": "Choosing a framework",
    "url": "https://zkpick.com/frameworks/"
  },
  "url": "https://zkpick.com/frameworks/cairo-stwo/",
  "markdown": "https://zkpick.com/md/frameworks/cairo-stwo.md",
  "category": "Language + VM + prover",
  "summary": "Cairo and the Stwo prover: Language + VM + prover. Kind: Language + VM + prover. Arithmetisation / backend: Circle STARK (Mersenne-31). Setup: None. Maintained by: StarkWare. Licence: Apache-2.0. Status: Production at scale. Choose it when: Applications native to its ecosystem, and any workload wanting a battle-tested, setup-free STARK stack with mature native recursion.",
  "description": "A language for provable programs executed by its own VM and proved by a Circle STARK prover over a small field. Verification is available both natively and as a verifier written in Cairo itself and run on the Cairo VM, which is what makes recursion native.",
  "notes": [],
  "sections": [],
  "strengths": [
    "Among the longest-running production ZK stacks, proving blocks with settlement on Ethereum L1",
    "No trusted setup",
    "Recursive proving is native and well-exercised — the verifier runs on the VM it verifies",
    "Prover fully open-sourced under a permissive licence"
  ],
  "tradeoffs": [
    "Strong gravitational pull toward its own ecosystem; general-purpose use is possible but not the main path",
    "Circle STARK proofs are large, so direct per-transaction L1 verification is impractical — the design intent is per-block aggregation",
    "A bespoke language with its own memory model, so no reuse of an existing toolchain ecosystem"
  ],
  "bestFit": "Applications native to its ecosystem, and any workload wanting a battle-tested, setup-free STARK stack with mature native recursion.",
  "maintainers": "StarkWare",
  "maturity": "Production at scale",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "source": "https://github.com/starkware-libs/cairo",
  "facts": [
    {
      "table": "Framework selection matrix",
      "url": "https://zkpick.com/frameworks/#frameworks-matrix-cairo-stwo",
      "name": "Cairo + Stwo",
      "kind": "Language + VM + prover",
      "arith": "Circle STARK (Mersenne-31)",
      "setup": "None",
      "by": "StarkWare",
      "license": "Apache-2.0",
      "status": "Production at scale"
    }
  ],
  "relatedFailureModes": [],
  "sources": [
    {
      "title": "Cairo — language and compiler",
      "url": "https://github.com/starkware-libs/cairo",
      "kind": "project"
    }
  ],
  "updated": "2026-09-12",
  "version": "1.3",
  "canonical": "https://zkpick.com/frameworks/cairo-stwo/",
  "authors": [
    "MarketComp"
  ]
}