Undo, in plain English
What it is, how it works, and every feature — in the shortest words that stay true.
What it is
A version of USDC with an undo button. If someone steals it from your wallet, you can get it back.
That's the whole idea. Regular USDC (or any crypto) is like cash — once it moves, it's gone. Undo makes stablecoin behave more like a bank transfer: reversible when something's genuinely wrong.
How it works
You hold gUSD ("guarded USD") instead of regular USDC. It's worth the same thing (1 gUSD = 1 USDC), you can convert between them any time, and 100% of your gUSD is backed 1:1 by real USDC sitting in a vault.
Now imagine your wallet gets phished at 2 AM:
- step 1Someone drains you
They sign a malicious transaction. 4,800 gUSD leaves your wallet.
- step 2Watchtower sees it
An automated service is watching every gUSD transfer. It spots the pattern (velocity + never-seen counterparty + drain shape) within seconds.
- step 3Freeze
The watchtower's only on-chain power is to add addresses to a blocklist. It adds the thief's wallet. The stolen gUSD is now stuck — the thief has a balance but can't move it.
- step 4You file a claim
From a fresh, uncompromised wallet, you submit two signatures: one from the drained wallet (proving you own it) and one from the fresh one (proving where you want the money to go).
- step 5Arbitration reviews
An independent panel checks the evidence — is this a real theft? They post a verdict on-chain.
- step 614-day timelock
Even after the verdict, nothing moves for two weeks. If the "thief" claims they were actually the rightful owner, they file a counter-claim during this window.
- step 7Recovery
If the timelock expires without a valid counter-claim, one atomic transaction runs: the stolen gUSD is burned from the thief's wallet, and the same amount is minted fresh to your new wallet. You have your money back. The thief never moved a cent.
Features
- Wrap / Unwrap
Swap USDC ↔ gUSD any time, 1:1. Your USDC sits in a vault, always redeemable (unless your wallet is frozen).
- Watchtower
24/7 monitoring. Hard-coded rules (Tier-1) plus AI triage on ambiguous cases (Tier-2). Fail-closed — on uncertainty, it doesn't act.
- Freeze-only power
The watchtower's key can only add to a blocklist. It cannot mint, burn, seize, transfer, or pause anything. Freezes auto-expire in 72 hours. Rate-limited.
- Dual-signature claims
You can't be “recovered” without your consent. Every recovery needs a signature from the drained wallet AND from a distinct fresh wallet. A thief who steals your key can't file a claim to redirect the funds to themselves.
- 14-day timelock
Enforced in the contract. No “we can act faster in emergencies” backdoor. The alleged attacker gets 14 days to dispute.
- Arbitration
An independent panel reviews claims and commits verdicts on-chain. Not the Undo team. Roadmap is fully decentralized arbitration.
- Inheritance registry
Name a beneficiary. If you're inactive for 90 days, they can trigger a transfer. Other beneficiaries get 30 days to contest before it executes.
- Transparency log
Every freeze, claim, verdict, and recovery is recorded on-chain and indexed. Public. Auditable.
- No god contract
The four contracts (token, watchtower, claim+verdict, executor) talk only through explicit calls. No single account holds both freeze and mint power.
- 1:1 vault invariant
Proved across 51,200 stateful fuzz calls with zero reverts. Vault always holds ≥ 1 USDC per gUSD in circulation.
- Chain-committed recovery target
The payout wallet is baked into the verdict before the timelock starts. Even the arbitration panel can't redirect it after that point.
What it protects against
Phishing / malicious approvals — you sign a bad transaction and get drained.
Seed phrase leaks — your key gets out somehow.
Compromised DAO signer — one multisig signer's laptop is owned, treasury drains.
Hostile inheritance — someone tries to steal from an estate, real heir can contest.
What it doesn't
You legitimately sending money and regretting it.
Recovery requires a claim + arbitration verdict + no valid counter-claim. Sent 4,800 gUSD to a friend and want it back? Arbitration will (correctly) reject the claim.
Vault-level bugs.
The vault holds real USDC. If there's a bug in the vault contract, that USDC is at risk. This is why the site currently says testnet only until external audit.
Loss of both your original wallet's signing key AND access to file a claim.
You need to sign the possession portion of the claim from the drained wallet's key. If you never had that key (someone else generated it and sent you the address), you can't prove possession.
Current state
Deployed to Base Sepolia (testnet). Every mainnet piece is scripted and dry-runnable but not broadcast. The last mile is a funded key + multisigs + external audit. Site is honest about this — no "audited" or "live on mainnet" claims anywhere.