openvm-zorch
A lean OpenVM prover built on zorch's scheme-agnostic SNARK blocks.
FRX → zorch (scheme-/zkVM-agnostic blocks) → openvm-zorch (SWIRL glue)
FRX is Fractalyze's fork of JAX, and it compiles through Fractalyze's fork of XLA. Both differ from upstream in the way that matters here: finite fields are native dtypes, not emulated. Everywhere below, FRX and XLA mean those forks.
OpenVM proves with SWIRL — a sumcheck-based proof system composing
LogUp-GKR (interactions), a batched ZeroCheck with univariate skip
(constraints), a stacked opening reduction, and a WHIR polynomial commitment —
as implemented by
openvm-stark-backend at tag
v2.0.0. This repo re-implements that prover on zorch, keeping
only the SWIRL-specific surface here and pushing every generic block upstream.
Installation
Python 3.11 on Linux x86_64 only.
CPU
pip install openvm-zorch
GPU (CUDA 12)
pip install openvm-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, openvm_zorch; print(frx.devices()); print(openvm_zorch.__version__)"
[CpuDevice(id=0)] means the CPU tier; a CUDA install prints the GPU devices.
Development
bazel test //... # hermetic, CPU by default
Regenerate golden fixtures (requires Rust toolchain; pinned to the reference tag, so output is reproducible):
cd tools/fixture-gen
cargo run --release -- \
--out ../../openvm_zorch/commit/testdata/stacked_commit \
--transcript-out ../../openvm_zorch/testdata/transcript \
--gkr-out ../../openvm_zorch/logup_gkr/testdata/logup_gkr \
--zerocheck-out ../../openvm_zorch/logup_zerocheck/testdata/zerocheck \
--stacking-out ../../openvm_zorch/stacked_reduction/testdata/stacking \
--whir-out ../../openvm_zorch/whir/testdata/whir \
--prove-out ../../openvm_zorch/testdata/prove
Reference pin
openvm-stark-backend tag v2.0.0
(16d60de724c21dcadfde7d8315a1db507e5832d7) — the same pin the openvm
v2.0.0 release consumes. Config: BabyBear base field,
BabyBear⁴ challenges, Poseidon2 width-16 (default_babybear_poseidon2_16,
plonky3 =0.4.3).
Documentation
See docs/ for the full index — pipeline & terminology, and
development & benchmarking.
License
Licensed under the Apache License, Version 2.0 (see LICENSE).
Metadata
Release files for openvm-zorch 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openvm_zorch-0.1.0.tar.gz | 122.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openvm_zorch-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 273.6 kB
Release files / openvm_zorch-0.1.0.tar.gz
| Download URL | openvm_zorch-0.1.0.tar.gz |
|---|---|
| Size | 122.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94e313c537bde3b13244880b8ad75ff274dfad7842f7075bb9b055727de29b38
|
|
BLAKE2b-256 checksum How to use checksums |
2b6a0683b6b784d8216a72c7ac5a43961495f358f8620de36279046e6bc8ea4a
|
| 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 logRelease files / openvm_zorch-0.1.0-py3-none-any.whl
| Download URL | openvm_zorch-0.1.0-py3-none-any.whl |
|---|---|
| Size | 151.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e42995da51efbb06d6b5e0cb8caf42938e9499337eb7e42c9c7f0f8647a97c9
|
|
BLAKE2b-256 checksum How to use checksums |
094e15d3e58319d1c47b137502267a9696e776cd3cdd73c74a40574c74212bf4
|
| 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