Enforcement is permissionless: anyone can call the contract and a portion of the penalty is paid to the caller; the rest goes to a charity (Giveth).
Weekly activity data comes from my smartwatch (via Samsung Health / Health Connect), synced by an Android app that publishes the weekly activity on-chain.
The site is mostly a viewer for on-chain state. Full write-up / architecture / security notes in the first comment.
Write-up / architecture / threat model:
https://pedrooaugusto.github.io/blog/posts/making-missed-wor...
Current run parameters:
- Network: Arbitrum (Ethereum L2)
- Duration: 12 weeks (Jan 19 → Apr 13)
- Total stake: ~$235 (0.075 ETH)
- Penalty per failed week: ~$19 (0.00625 ETH)
How enforcement works:
- If a week fails, anyone can call enforceAgreement() and receive a share of the penalty; the rest goes to the Giveth charity.
- There’s also a Chainlink Automation backstop so “nobody enforced” can’t become an escape hatch. If automation is the first to enforce a missed week, there’s no caller to reward, so 100% of the fine goes to Giveth.
I’d love feedback on:
1) where you’d try to cheat this,
2) what would make it more verifiable/auditable to you.