Skip to main content

sp1-zorch

A lean SP1 prover built on zorch's scheme-agnostic SNARK building blocks. zorch provides the reusable pieces (hashing, Merkle commitment, sumcheck, fold, …); sp1-zorch adds only the SP1-specific glue on top — domain separator, verify codes, heap proof layout, and the FFI byte-match against the SP1 reference prover.

frx  ──▶  zorch (scheme-/zkVM-agnostic blocks)  ──▶  sp1-zorch (SP1 glue)

Status

The full SP1 shard proving scheme runs on zorch blocks: a ProveChain of trace commit → LogUp-GKR → zerocheck → jagged PCS, byte-matching SP1's reference prover end to end (its sp1_verify_shard accepts the assembled proof). See docs/architecture.md.

Installation

Python 3.11 on Linux x86_64 only.

CPU

pip install sp1-zorch

GPU (CUDA 12)

pip install sp1-zorch 'frx[cuda12]' \
    --extra-index-url https://fractalyze.github.io/pypi/simple/

The extra index carries the CUDA plugin wheels, which are too large for PyPI's per-file limit. It is not needed for the CPU tier.

Verify

python -c "import frx, sp1_zorch; print(frx.devices()); print(sp1_zorch.__version__)"

[CpuDevice(id=0)] means the CPU tier; a CUDA install prints the GPU devices.

Development

sp1-zorch is pure Python on frx (Field, Ring Accelerated), run against the Fractalyze XLA GPU plugin, built with Bazel (bzlmod). It consumes zorch as a Bazel module, pinned in MODULE.bazel via git_override for reproducible builds.

python3.11 -m venv .venv && . .venv/bin/activate
pip install -r requirements.in \
    --extra-index-url https://fractalyze.github.io/pypi/simple/

Dev against a local zorch checkout instead of the pinned commit — create .bazelrc.user (gitignored):

common --override_module=zorch=/abs/path/to/your/zorch/checkout

Run the tests (CPU is the default for correctness; the FFI byte-match against the SP1 reference needs a CUDA GPU):

bazel test //...

Documentation

See docs/ — the architecture (the shard proof as a ProveChain of Stages, each running inner Rounds, threaded by a Bridge, plus the SP1 dump vocabulary), the development guide (environment, testing, and the per-stage SP1 baseline), and the conventions.

License

Licensed under the Apache License, Version 2.0 (see LICENSE).

Metadata

Release files for sp1-zorch 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sp1-zorch 0.1.2
File Size Uploaded
sp1_zorch-0.1.2.tar.gz 183.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sp1-zorch 0.1.2
File Interpreter ABI Platform
sp1_zorch-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 402.4 kB

Release files / sp1_zorch-0.1.2.tar.gz

Download URL sp1_zorch-0.1.2.tar.gz
Size 183.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7a26dd5cb4f733047d89881ef780f988a328cbcaf73ffda86c261141e17fa7f8
BLAKE2b-256 checksum
How to use checksums
9d221653367db5a9b078ac87aa34ce3a7ca162a08dce3bb4f1488c52b0f28a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / sp1_zorch-0.1.2-py3-none-any.whl

Download URL sp1_zorch-0.1.2-py3-none-any.whl
Size 218.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
319c4c780a53e28332ea9bf51ad888218943c4a0027e8f8cbb20301b0fa69525
BLAKE2b-256 checksum
How to use checksums
088dff21ee114e2fed5a79bd7dfbb469383e7d02e831b8d3d32d95a9f032c8f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page