For your agents
Your agents can pay for what they need online - APIs, tools, data, purchases - from a wallet you control. Veto authorizes every spend against your policy before it happens, so they can't overspend, can't wander off-limits, and every payment is signed.
Works with Claude Code, Codex, Cursor and any agent.
One command
One line installs Veto and wires its policy tools into your agent. From then on, every payment your agent tries to make is checked against your policy first - no extra code to write.
Works with Claude Code, Codex, and Cursor. Bring your own agent, or start from veto-agents - a ready-made agent with Veto already inside.
How it works
You hold the keys and set the rules. Veto sits in front of every spend and enforces them - in real time, and on-chain.
01
Bring any wallet. You hold the keys; Veto only holds a co-signer.
02
Caps, allowlists, time windows, categories - in plain terms.
03
Run veto wallet fund for a QR, then send USDC on Base.
04
Before any payment it calls veto_authorize. Veto checks the intent against your policy.
05
Within policy it pays. Out of bounds it's blocked - or escalated to you. Every decision is signed.
Your policy
Set the boundary in plain terms - no smart-contract knowledge required. Change it any time; the new version takes effect on the next spend.
Per-transaction, daily, and monthly caps.
Approve the services your agent can pay.
Restrict spending to business hours.
Cap how many payments happen per hour.
Allow or block entire categories.
Every decision signed and reason-coded.
Set the policy once. Veto enforces it on every spend, on-chain - so you get autonomy without handing over a blank cheque.