Spark
Testnet

ShipStake

ShipStake is an onchain commitment device: stake MON on "ship this repo by Friday," verified against your GitHub activity. A verifier backend watches the repo (private repos included, via githubs OAuth) and auto-submits an onchain check-in the moment you push with no button to forget. Ship it and reclaim your stake; miss the deadline and anyone can trigger the slash, sweeping your stake to a beneficiary that defaults to a public-goods address. Built during the hackathon window: a Solidity contract (source verified on the explorer), a FastAPI verifier that sweeps every 60 seconds and signs checkIn() transactions, and a Next.js frontend with live commitment cards — ticking countdown, the verifier's real-time view of your commits, and the card flips to "fulfilled" on its own when the backend checks you in. What I learned: chain semantics matter in unexpected places, the default beneficiary had to be an EOA because mainnet multisigs simply don't exist on Monad; checks-effects-interactions and permissionless settlement (anyone can slash, so the creator can't protect themselves by refusing to settle); and that the verifier's power must be narrow onchain, checkIn() is deadline-gated in the contract, so the trusted backend can attest activity but can never move money late.

Discussion

Sign in to comment on this project.

No comments yet. Be the first to share what you think.