PLAYGROUND the real policy engine, in your browser

Give an agent a budget. Watch SpendVeto decide.

Set the policy, then fire spend at it. This runs the same decision logic as SpendVeto's policy engine — per-call caps, hourly budget, rate limit, approval threshold, payee allowlist, runaway auto-freeze — entirely client-side. Nothing is sent anywhere; no wallet, no install.

Policy

Fire agent spend

Governed console

⛔ Wallet auto-frozen — runaway burst detected. Nothing spends until a human unfreezes.
spendveto
$0.000
paid
0
awaiting approval
$0.000
blocked
Hourly budget$0.000 / $0.20
Calls this window0 / 10
No attempts yet — fire some spend on the left.

This is a faithful re-implementation of client/policy.js's decision order: freeze → per-call cap → payee allowlist → rate limit → hourly budget → approval threshold. In the real product the same checks run server-side at the payment gate, so an agent can't skip them. See the governance model →