Public repositories

The source, split by responsibility.

Seven public repositories cover the application, room node, Ethereum contracts, proving, coordination, testing, and deployment. You can start with one and follow the boundaries when you need the next.

7 public repositoriesChecked 26 August 2026

The short version

Choose the part you want to change.

A repository is the readable source and its tests. If you are building an application, start with the examples and node packages. If you are checking the Ethereum boundary, open the protocol. If you want the whole system on one machine, use the testing repository.

The split is intentional: an application can change without becoming the prover, and an operator can replace deployment machinery without rewriting the room protocol.

Build an application

Start here when you want to understand the room boundary, reuse the node packages, or adapt a working example.

MIT

zkdeal-examples

What it is for

Small working applications: private card play, an auction, a shop, and market-ordering examples including FIFO and commit-reveal.

How it works

Each example keeps one application rule set small enough to read and test. Use it as a pattern, then replace the contract and room policy with your own.

View repository on GitHub

BUSL-1.1

zkdeal-node

What it is for

The TypeScript packages an application embeds when it needs room execution, peer networking, proving, settlement, or recovery.

How it works

Use the packages inside an app, or run the included headless node. The node executes the allowed room actions, asks for proofs, and follows the result back to Ethereum.

View repository on GitHub

MIT

zkdeal-protocol

What it is for

The Ethereum contracts and proof-verification rules that hold room deposits and accept proven checkpoints.

How it works

RoomManager holds the L1 boundary. A room submits a proof and its public result; the contracts verify that result before assets can move along an allowed return path.

View repository on GitHub

Run and prove it

These repositories turn application code into a complete local system and a proof that Ethereum can verify.

MIT

zkdeal-testing

What it is for

A one-command Kurtosis environment with local Ethereum, Blockscout, the coordinator, and a CUDA prover.

How it works

Kurtosis starts the services as one named environment. The included checks follow a real room result from execution, through proving, to an accepted L1 transaction.

View repository on GitHub

BUSL-1.1

zkdeal-coordinator

What it is for

The web coordinator and console used to create and observe rooms, admit participants, and manage proof work.

How it works

Its API coordinates the off-chain work and exposes the operator and demo surfaces. It prepares and tracks the work; the Ethereum contracts remain the final verification boundary.

View repository on GitHub

BUSL-1.1

zkdeal-prover

What it is for

The CUDA-only RISC Zero proving service and the agent that connects it to the coordinator queue.

How it works

The prover replays a room batch inside the zkVM, produces a Groth16 proof, and returns it over a small HTTP interface for submission to Ethereum.

View repository on GitHub

Operate a deployment

Use this repository when the application already works and you need repeatable deployment, observation, backup, and recovery.

MIT

zkdeal-cloud-deployer-infra

What it is for

Operator-owned deployment tooling for Docker Compose, Kubernetes, Kurtosis, observability, backup, failover, and release checks.

How it works

It consumes the components built by the other repositories, binds them to an explicit environment profile, and fails validation when production requirements are missing.

View repository on GitHub

See the other half of the public platform.

Explore the Docker images