
Ostrune is a non-custodial vault on Monad Mainnet that gives your future self a vote before an impulsive withdrawal empties your wallet. You deposit native MON into a personal vault. A continuously refilling allowance lets you spend small amounts instantly. Anything larger is queued as an immutable ticket with a fixed recipient, amount, and execution time, released only after a cooldown you set. You can cancel any ticket, and an optional guardian can veto one, but the guardian can never move funds. The core idea is the one rule most timelocks miss: you cannot disable the brake faster than the brake. Tightening a rule (longer cooldown, smaller allowance) applies immediately. Loosening one (shorter cooldown, bigger allowance, removing the guardian) is itself queued under the cooldown currently in force. So there is no weak moment in which you remove the delay and then withdraw. No oracle, keeper, token, upgrade admin, or custody provider is involved. Everything is real and onchain. The factory and a personal vault are deployed and source-verified on Monad Mainnet, and I funded my own vault and ran the full loop: deposit, instant withdrawal, owner cancel, guardian veto, delayed execution, and an attempted cooldown removal that correctly queued under the 24-hour rule. Six Foundry tests act out six ways of trying to rob my own vault; all fail. The suite is 67 tests, 100% source coverage, 10,000-run fuzzing, stateful invariants, and zero Aderyn findings. The hosted app (ostrune.xyz) adds email, social, and wallet sign-in plus gas-sponsored transactions, so a new user can create and operate a vault without a seed phrase or hunting for MON, while custody stays fully onchain. What I learned: refusing an emergency backdoor is the hard part. Continuous token-bucket accounting, versioned rule tickets, and a veto-only guardian were all needed to make "cannot escape faster than the delay" actually hold.
讨论
还没有评论,快来分享你的看法吧。