What zkvm.host Actually Is vs. the Open-Source Repo It's Built On
The homepage describes a multi-VM proving company: SP1/RISC Zero/Jolt/ZKWASM routing, a pay-per-proof API, CI/CD integration, an edge SDK, four pricing tiers. None of that is a lie exactly — it's a product vision, clearly marked as simulated where it's demoed — but it deserves a page that just says, plainly, what's real.
What's real: one backend, over HTTP and MCP
The actual, tested mechanic behind "push code, get a proof" is crates/zkvm-host-server: POST /v1/proofs takes a .zkasm program and returns a real STARK proof. POST /v1/verify checks one — the server re-executes the program itself to know what to check against, so it never needs the caller's trace. zkvm-cli deploy wraps this in a real HTTP round trip, tested end to end against a running server, not mocked. The same two operations are also exposed as real MCP tools, verified with an actual initialize → tools/list → tools/call handshake — see the MCP post.
What's architecturally real but single-backend: the router
A ProverBackend trait and a ProverRouter exist. GET /v1/backends lists what's registered; two are: stark (the real prover above) and mock-echo, a routing stub whose verify always returns an error, never valid: true — it proves the plumbing works without pretending to be a second cryptographic backend. This makes "multi-VM router" an architecturally real, tested claim in the narrow sense that adding SP1 or RISC Zero later is one new file plus one router.register() call — while being explicit that no second real backend exists yet.
sp1-sdk dependency resolves 518 crates and needs a Go-based FFI dependency for its Groth16 wrapping step; cargo check ran ~4 minutes before failing on a missing protoc, without yet reaching the RISC-V toolchain. More fundamentally, SP1 proves compiled RISC-V ELF binaries — it has no relationship to this repo's .zkasm accumulator ISA. Full findings: docs/HOST_SERVICE.md.What closed since the pitch was written
scripts/onchain_demo.sh deploys the contracts, gets a real proof from a real running server, verifies it locally, attests it on-chain, and confirms the prover is actually paid. zk-ci.yml builds the workspace, runs every Rust and Solidity test, then boots the real server and runs zkvm deploy + zkvm verify against every example program on every PR — "proof as a CI check," for real. See the CI post for exactly what that gate checks.
What's explicitly not here
- A second real proving backend (SP1, RISC Zero, Jolt, ZKWASM) — investigated, not built.
- Trustless on-chain verification — the on-chain path is an attested bridge, not a cryptographic check. See the trust-boundary post.
- Multi-tenant serverless infrastructure, billing, or usage tiers — the server is a single process with no auth, no rate limiting, no persistence.
- An edge/WASM proving SDK, and AI-agent-execution verification.
The honest summary: "push a program, get a proof" over HTTP and MCP is real and tested today. The multi-backend routing layer is real plumbing around one real backend. The pricing tiers, edge SDK, and agent verification are the pitch for where this could go, not a description of what ships. All three of those are true statements about the same project, and this page exists so a reader doesn't have to guess which parts of the homepage they're reading.