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).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openvm_zorch-0.1.0.tar.gz.
File metadata
- Download URL: openvm_zorch-0.1.0.tar.gz
- Upload date:
- Size: 122.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94e313c537bde3b13244880b8ad75ff274dfad7842f7075bb9b055727de29b38
|
|
| MD5 |
e5977e5788e2eaa94ab8e23256a15959
|
|
| BLAKE2b-256 |
2b6a0683b6b784d8216a72c7ac5a43961495f358f8620de36279046e6bc8ea4a
|
Provenance
The following attestation bundles were made for openvm_zorch-0.1.0.tar.gz:
Publisher:
release.yml on fractalyze/openvm-zorch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openvm_zorch-0.1.0.tar.gz -
Subject digest:
94e313c537bde3b13244880b8ad75ff274dfad7842f7075bb9b055727de29b38 - Sigstore transparency entry: 2255782760
- Sigstore integration time:
-
Permalink:
fractalyze/openvm-zorch@81ed2beb7c0aead48d29c839cc9d6c8927921481 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/fractalyze
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@81ed2beb7c0aead48d29c839cc9d6c8927921481 -
Trigger Event:
release
-
Statement type:
File details
Details for the file openvm_zorch-0.1.0-py3-none-any.whl.
File metadata
- Download URL: openvm_zorch-0.1.0-py3-none-any.whl
- Upload date:
- Size: 151.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e42995da51efbb06d6b5e0cb8caf42938e9499337eb7e42c9c7f0f8647a97c9
|
|
| MD5 |
f106b651f8c072e3b2d8f2b27db9ae63
|
|
| BLAKE2b-256 |
094e15d3e58319d1c47b137502267a9696e776cd3cdd73c74a40574c74212bf4
|
Provenance
The following attestation bundles were made for openvm_zorch-0.1.0-py3-none-any.whl:
Publisher:
release.yml on fractalyze/openvm-zorch
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openvm_zorch-0.1.0-py3-none-any.whl -
Subject digest:
8e42995da51efbb06d6b5e0cb8caf42938e9499337eb7e42c9c7f0f8647a97c9 - Sigstore transparency entry: 2255782775
- Sigstore integration time:
-
Permalink:
fractalyze/openvm-zorch@81ed2beb7c0aead48d29c839cc9d6c8927921481 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/fractalyze
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@81ed2beb7c0aead48d29c839cc9d6c8927921481 -
Trigger Event:
release
-
Statement type: