Demo checklist
A straight line through the full escrow flow, refund and donation both included. Every step below is a real transaction you sign — nothing here simulates success.
- 1
Fund two wallets
A builder wallet and a verifier wallet, both holding test MON on Monad testnet (chain id 10143). Get free test MON from the official faucet.
faucet.monad.xyz → - 2
Deploy (or confirm) the contract
Ship or Donate needs a deployed ShipOrDonate contract address configured in this app before anything below works.
- 3
Builder: create a commitment
Connect the builder wallet, go to Create, and set a real project title, a deadline a few minutes out, a stake amount, the verifier wallet's address, and an open-source donation recipient address. Review, then confirm in MetaMask.
- 4
Builder: submit proof
On the commitment page, click Submit proof and paste a real GitHub repo URL, a deployed URL, and a demo video link. Confirm the transaction.
- 5
Verifier: approve
Switch MetaMask to the verifier wallet on the same commitment page. The Approve proof action appears because the connected address matches the verifier. Confirm — the stake refunds to the builder immediately.
- 6
Optional: show a donation
Create a second commitment with a deadline a minute or two out, and let it go unapproved. Once the deadline passes, any connected wallet can click Settle expired commitment, sending the stake to the donation recipient instead.
No simulated transactions