RISC-V compliance testing zkVMs using the the ACT4 framework.
Dashboard: https://eth-act.github.io/zkevm-test-monitor/
Tests are self-checking ELFs: the Sail reference model runs at compile time to embed expected values, and tests exit 0 (pass) or non-zero (fail).
| ZK-VM | ISA | Repo |
|---|---|---|
| SP1 | RV64IM | succinctlabs/sp1 |
| Jolt | RV64IMAC | a16z/jolt |
| OpenVM | RV32IM | openvm-org/openvm |
| r0vm | RV32IM | risc0/risc0 |
| Zisk | RV64IMFDAC | 0xPolygonHermez/zisk |
| Pico | RV32IM | brevis-network/pico |
| Airbender | RV32IM | matter-labs/zksync-airbender |
./run build sp1 # Build binary via Docker
./run test sp1 # Run ACT4 tests
./run test sp1 jolt # Test multiple
./run test # Test all
./run all sp1 # Build + test
./run serve # Dashboard at localhost:8000
./run clean # Remove artifactsJOBS=8 ./run test zisk # Limit CPU cores
ACT4_JOBS=N ./run test zisk # Override parallel jobs inside container
FORCE=1 ./run test zisk # Regenerate ELFs from scratch
ACT4_MODE=execute ./run test zisk # Execution only (no proving); also: prove, full (default)
GPU=1 ./run build zisk # Build with GPU support
GPU=1 ./run test zisk # Prove with GPU- Add entry to
config.json - Create
docker/build-<name>/Dockerfile - Create
docker/<name>/Dockerfile+entrypoint.sh - Create
act4-configs/<name>/<isa>/withtest_config.yaml,sail.json,link.ld,rvmodel_macros.h
run Entry point
config.json ZK-VM repo URLs and commit pins
src/ Build and test scripts
docker/<zkvm>/ Per-ZK-VM ACT4 test Docker setup
docker/build-<zkvm>/ Per-ZK-VM binary build Dockerfiles
docker/shared/ Shared utilities (patch_elfs.py)
act4-configs/ Per-ZK-VM ACT4 ISA/platform configs
act4-runner/ Host-side test runner (Rust, used for proving)
docs/ Dashboard (generated)
data/history/ Historical pass/fail tracking
scripts/ Utility scripts
notes/ Reference documents and notes
- Docker
- Bash
Dual-licensed under Apache 2.0 or MIT.