Smart contracts and interactive CLIs built with the mattrs framework. Each example is a standalone crate with its own contract definitions, tests, and (where applicable) a CLI.
| Crate | What it demonstrates |
|---|---|
| vault/ | BIP-345-style vaults using OP_CCV + OP_CTV -- trigger, recover, and time-locked withdrawal flows. Interactive CLI. |
| minivault/ | Stripped-down vault using only OP_CCV. |
| rps/ | Two-player Rock-Paper-Scissors - with interactive CLI. |
| ram/ | On-chain key-value store backed by Merkle proofs -- read, write, and withdraw operations on a vector of arbitrary length. |
| game256/ | End-to-end fraud proof via interactive bisection -- resolves a computation dispute down to a single step. |
| test-utils/ | Shared test utilities: RPC client setup, key generation, wallet helpers. |
All examples require a running CCV-enabled regtest node. See the root README for prerequisites and node setup instructions.
Each example's own README covers its specific usage, CLI commands, and contract design.