- Your money sits in a vault contract you own. WalletBrake can approve, refuse or freeze payments, but it can't move your money.
- Your limits, waiting periods and exit live on the blockchain. They hold even if our servers are hacked or switched off.
- The contract source is published and verified, so you can read exactly what your vault runs.
- It's not audited yet, so it runs on test networks with test money. Real money comes after an independent audit.
01What we can and can't do#
Every vault has a guardian: WalletBrake's key, which checks each payment before the vault pays. The contract gives it a few powers, and only those.
WalletBrake can
- Approve a payment your spending wallet asked for, within your limits
- Refuse one
- Freeze your vault, and cancel a payment that's waiting
WalletBrake can't
- Send your money anywhere, or start a payment
- Keep your vault frozen: your owner wallet unfreezes it
- Block or redirect your rescue to the backup address
- Stop you replacing it with another guardian
Your keys never leave your wallets. We never see a seed phrase or a private key, and there's no password or account database to leak. Anyone who asks you for a seed phrase is not us.
02What the contract enforces#
These rules are in the vault contract itself, so nobody can switch them off, including us:
- Limits per hour and per day, for each coin. They refill gradually, so a thief can only take a little at a time.
- A 1-hour wait for a large payment to an address the vault hasn't paid, so you can cancel it.
- A 24-hour wait for any change that weakens the vault: raising a limit, trusting an address, changing who protects it. Making it stricter works at once.
- Short-lived approvals. Each approval names one payment and expires after 2 minutes. A payment that waits and isn't sent within 7 days expires too.
- No token approvals. The vault never grants "approve" or "permit" rights, so approval drainers have nothing to take.
- Frozen means frozen. Nothing leaves, and every waiting payment is cancelled, until your owner wallet unfreezes it.
03Your way out#
You never need WalletBrake to get your money out:
- If WalletBrake disappears, your owner wallet can freeze the vault and move everything to your backup address, using only your wallet and the blockchain. walletbrake.com/recover does it without any WalletBrake server, and you can save a copy of that page.
- If you lose your owner wallet too, your backup address can start a rescue. After the wait (30 days unless you set 7 to 180), everything moves to the backup address, and nowhere else. Your owner wallet is alerted and can cancel it until then.
- NFTs sent to your vault can only ever go to your backup address.
A dedicated set of tests proves this: each one makes a vault, funds it, then makes WalletBrake disappear or turn hostile. In every case everything still reaches the backup address, and only it.
04Our keys#
- The guardian key that approves payments is kept in a cloud key-management service, inside a hardware security module. It can't be copied out, not even by someone who breaks into our server. Vaults made before it existed can move to it from the app (a 24-hour change, like any other).
- A separate freeze key can only freeze a vault and cancel waiting payments. It can never move money.
- Our servers hold no user money and no user keys. If they're attacked, the worst case is that payments pause; your limits still hold on chain, and your owner wallet keeps full control.
05Before money moves#
On top of the contract's rules, WalletBrake checks every payment before approving it:
- Recipients. Before paying an address you haven't trusted, it checks public sanctions lists (refreshed every 6 hours), look-alikes of addresses you've paid (address poisoning), and contracts created in the last few days. A listed address is refused and freezes the vault; the others come to you first.
- Automatic freeze. Paying too many new people, too many requests at once, or repeated refusals look like a thief or a tricked agent, and freeze the vault.
- Canary addresses. Decoys you plant where only an attacker would find them. A request to pay one freezes the vault at once.
- AI agents. An agent's payments can be held to the task it declared, with a budget and a list of addresses. An AI check reads each one against the task; it can hold a payment back for you, never approve one the rules wouldn't.
- You hear about it. Waiting payments, scheduled changes and freezes alert you on Telegram or by email.
06Read the code#
The contracts have the same address on every network. Their source is published and verified on each network's block explorer, built with the same settings that deployed them, so you can read exactly what your vault runs.
| Contract | Address | Verified source |
|---|---|---|
| Vault factory | 0xF86e75d2C22dA4CCb5394665A6da83133BaeE78f | Basescan · Etherscan · BscScan |
| Vault core (every vault is a copy of it) | 0x52eE3C2203B4e2011Ba6720d106709809B908455 | Basescan · Etherscan · BscScan |
| Vault module (settings, freeze, rescue) | 0x603d5304104C59D338d13a0FC5370Dc6AfD49B7B | Basescan · Etherscan · BscScan |
More addresses, including the test USDC, are in the developer docs.
07How it's tested#
- 126 contract tests, including invariant tests that drive a vault with random sequences of everything the spending wallet, the guardian, the owner and an attacker can do, and check that the limits always hold, a forged approval never works, a frozen vault pays nothing, no money appears or vanishes, and a rescue always waits.
- The exit guarantee tests above, where WalletBrake vanishes or turns hostile.
- End to end on every change: the guardian, the TypeScript and Python SDKs, the AgentKit plugin and the MCP server run against the real guardian on a local blockchain before anything is deployed.
- Live on test networks: new features are tested on the public testnets before we call them done, for example a Safe multisig owning a vault, x402 payments, email alerts, and an AI agent given a supplier email with a hidden instruction to pay an attacker. The attacker got nothing.
- Open to anyone: Break the Brake lets you try to trick a real AI payments agent into paying you from a protected vault, with test money, and shows what WalletBrake did.
08Audit and launch#
- Now: a public beta on test networks (Base Sepolia, BNB Smart Chain testnet, Ethereum Sepolia), with test money. Don't send real money to a vault.
- Before real money: an independent security audit of the contracts, a public bug bounty, and a tested emergency plan.
- Then: mainnet on Base, carefully, with a cap per vault at launch that rises as the system proves itself.
We'll publish the audit report here when it's done.
09Report a problem#
Found a security issue? Email security@walletbrake.com privately, with what you found and how to reproduce it. Please give us reasonable time to fix it before telling anyone else.
We welcome good-faith research on the test networks and won't take legal action against research done in line with our terms: don't access other people's data, don't disrupt the service for others, and don't test against main-network funds. Our contact details are also in security.txt.
For anything else, write to support@walletbrake.com.