Promises enforced by the code
๐ Don't trust us. Every promise is locked in by the contract.
LIVE = checked on chain from your browser, right now
CH J1Pending money can end in only two places
โถ Receiverorโโ Sender's side
resolve and finalize take no destination address โ there's nowhere else to send it.๐งช j1_*, property_j1_j2_j6 (16,000 random steps)
CH J2Only money still inside its window can be touched
โฑ After the window, the money is final like plain USDC. Panic and reports bounce off.
๐งช j2_*, property (J2)
CH J3No reversal without an active step; the AI does not move money
If the council stays silent:๐ฉ report โ receiver gets paidโโ contested panic โ panic stands
๐งช j3_*, j7_an_honest_court_recommendation_is_stored_and_moves_no_money
CH J4Only the sender's side can report, and a false report has a cost
๐ฐ Bond . Lose โ the bond goes to the receiver, and the loss is on-chain.
๐งช j4_*
CH J5We cannot change the rules quietly
LIVE- Locked contract (v1 copy): lockedmvz3cg5t.nh-v1undo-mvz2j3bw.testnet
- This demo contract: undo-demo-v2.testnet
Rebuild it yourself
v2 build hash (reproducible): AzDhXsj2JzWQAEjScj5SrubF4Q96VCLPHTRawcpHnZkJ. In undo/contracts/undo-token run cargo near build reproducible-wasm at commit 65c1c0e (needs Docker); the result must equal the contract's code hash above. v1 hash (tag contract-v1): 5q9rRircqxg9Bko6gHa4k1ejQzvrb9zgQkkXaZSPsrGz.
๐งช S25 (locking)
CH J61 rUSDC can always be redeemed for 1 USDC
LIVE๐งช j6_*, property (J6)
CH J7The court server needs no trust
LIVE๐งช j7_*, S26 (real NEAR AI model)