Skip to main content

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)

Source distribution for openvm-zorch 0.1.0
File Size Uploaded
openvm_zorch-0.1.0.tar.gz 122.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openvm-zorch 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

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