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.

讨论

登录后即可评论此项目。

还没有评论,快来分享你的看法吧。