What VETO protects, and what it doesn't
VETO puts your AI agent's limits in a smart contract it can't change. This page says plainly where that helps, where it doesn't, and how far along we are.
Where things stand
Please don't use real funds. Until the audit is done and published, VETO is for testing with free test tokens only.
How VETO keeps your agent in line
- The agent can only propose. Its key can call one function on your vault, which checks every move before anything is signed. It can't withdraw, change rules, or unfreeze.
- Your rules live on-chain. Daily and per-trade caps, allowed apps, allowed recipients and a cooldown are stored in your vault contract. A tricked or prompt-injected agent can't talk its way past them.
- Caps count what actually leaves. After every move the vault measures what left it and reverts if a cap is broken, so even an allowed app can't take more than your rules permit.
- Some moves are always blocked: unlimited token approvals,
transferFrom,permit,setApprovalForAll, and any address on the Sentinel threat list. - You stay in charge. You can freeze the agent instantly and withdraw everything at any time, even while frozen. Only your wallet can unfreeze.
- No one else holds your keys. The VETO website never asks for your seed phrase, and the bot never holds your owner wallet.
What VETO can't protect you from
Bad trades inside your rules
If your caps allow $400 a trade, your agent can still lose up to that on a poor trade. VETO limits the damage; it doesn't make trades profitable.
A stolen owner wallet
Whoever controls the vault's owner wallet controls the vault. Use a hardware wallet or a multisig as the owner.
Bugs in unaudited code
The contracts are tested but not yet audited. A bug could lock or lose funds, which is why mainnet waits for the audit.
Swap output on some exchanges
Exchanges such as Uniswap let the caller choose who receives a swap. Before mainnet, every exchange sits behind VETO's guarded swap adapter, which checks prices and always pays the vault.
A fake VETO website
Scammers copy popular sites. Check the address you're on and the contract addresses on the Vault tab before you sign anything.
The threat list being wrong
Sentinel reports can miss a scam or, rarely, flag a good address. Disputes are resolved by a multisig at launch and by holders later.
Report a vulnerability
Found a security problem? Please report it privately through GitHub's private vulnerability reporting for the contracts repository, not in public posts. A paid bug bounty will open before mainnet.