bitvm-noded coordinates bridge participants on Bitcoin and GOAT L2. It monitors
both chains, builds and signs transaction graphs, exchanges protocol messages,
and coordinates proof generation and disputes.
Open the full-size SVG for connector wiring, CSV paths, competing spends, PreKickoff slots, and per-input authorization types. The legend explains the signature notation.
- Peg-in: the deposit funds Z; confirmation creates C0, while refund is the competing path.
- Claims: Take-1 reimburses the Operator after A's CSV delay. Take-2 requires C0, D, F and G and must satisfy both D's and F's CSV delays.
- Disputes: Watchtower and Verifier branches prevent claims by spending required outputs. Verifier-Assert is also called ChallengeAssert; Pubin-Disprove spends D directly.
| Role | Responsibility |
|---|---|
| Committee | Presign transactions and endorse peg-ins and graphs |
| Operator | Build graphs, publish assertions, and execute claims |
| Verifier | Prepare circuits, verify assertions, and submit disproofs |
| Watchtower | Monitor Bitcoin and submit Watchtower challenges |
| Relayer | Committee mode that posts data to GOAT and serves graph requests |
Chain observations, admitted messages, and job results enter a durable inbox. Instance and Graph aggregates apply events and schedule work. Heavy setup, signing, proof generation, and network calls run as jobs; results return through the inbox. Persistent state lets interrupted work resume after restart.
The Instance aggregate handles peg-in validation and signing. The Graph aggregate handles setup, presigning, claims, and disputes. Missing graph definitions are retrieved from peers and authenticated before use.
Run from the repository root:
cargo build -r -p bitvm-noded --bin bitvm-noded
./target/release/bitvm-noded --helpSee the deployment guide for running participants and the operator tools for diagnosis.
Use the localnet guide to run the bridge with mocked proof machinery. Mock builds are for local testing only.