Your bank card has a daily limit.Your wallet doesn't.
One bad click can empty a crypto wallet.
Curb holds your funds and caps how much can leave per day — so a mistake, or a stolen key, costs you a day. Not everything.
Monad Testnet · free testnet MON · nothing here is worth real money
Left to spend today
Try it — no wallet needed
Ask the contract to send from this vault. It answers for real.
Set a limit
Pick what you'd be willing to lose in a day. Deposit into your vault — the contract holds the funds, not your key.
Spend under it
Sends work normally and confirm in a few hundred milliseconds. Recipients get plain MON at any address. Nothing to claim.
The chain blocks the rest
Go over your limit and the contract refuses — no dialog to click through. Lowering the limit is instant; raising it waits.
Why not just use EIP-7702?
It's the fashionable answer: delegate your wallet to a contract that enforces a limit. No custody, no migration. I designed it that way first.
It doesn't work — and not subtly.
“EIP-7702 delegation does not restrict an EOA's ability to send normal transactions. The key holder retains full control… delegated code doesn't intervene.”
Delegated code runs when the account is called — never when your key signs an ordinary transaction. And the delegation clears whenever you like. So a 7702 spending limit is a switch the attacker flips off: the bad click just removes it first.
You can't limit a key you still hold. You have to not hold the money.
What Curb doesn't do
A security tool that only lists its wins is marketing. Here's what someone holding your key can still do.
- A stolen key still spends your limit
- Every window, indefinitely. Curb bounds the damage; it doesn't prevent it.
- ~2× your limit in one burst
- Windows are fixed, not rolling. Spend the cap just before the reset and again just after. There's a test pinning exactly this.
- A raise you don't notice will land
- You get your delay to cancel it. At the unlock moment, whether your cancel or their apply gets included first is an ordinary mempool race.
- Your own exit is capped too
- That's the product, not a bug. Deposit only what you're content to withdraw at your chosen rate.
Speed isn't the feature. It's why you'd keep it on.
Honest answer: a spending limit works on any chain. It doesn't need Monad.
But Curb puts a contract between you and every send. On a 12-second chain you'd feel that tax on every transaction — and a safety feature you feel is a safety feature you switch off within a week.
Monad returns the receipt in the same request as the send. The protection stops being something you notice. That's the whole argument.
30
contract tests, including a reentrancy attacker and solvency fuzzing
1
monolithic contract — no proxies, no coordination
2
bugs found by an independent security review, both fixed before launch
0
admin keys, backdoors, or upgrade paths. Nobody can reach your vault, including me
This isn't a new idea.
Argent shipped daily transfer limits years ago. Safe has allowance modules. The idea that your wallet should have a ceiling is old, correct, and somehow still not the default — which is the actual point.
I have about $20 in crypto and I've opened a wallet once, because sending felt like defusing something. My bank card has never scared me like that. It has a limit.