Demo vault #1— USDG a day3 recipients
A daily spending limit for your AI agent.
Try to make it overspend. No wallet needed.
The agent is deliberately gullible. The contract isn't.
Allowed: Sink A · Sink B · Sink C team wallets, balances public
Receipts
Receipts print here. Pick an attack or type your own.
How it decides
Your agent calls spend(). The contract asks three questions, in this order. One “no” and nothing moves.
-
01
On the allowlist?
The owner picks the recipients. Any other address is refused.
-
02
Under today's cap?
A daily cap in dollars. Resets at 00:00 UTC.
-
03
Enough in the vault?
Your agent only needs gas. The money stays in the vault.
PAIDThree yeses: a Spent event, and the money moves.
REFUSEDAny no: recorded as a Refused event. Transaction status OK does not mean money moved — look for Spent vs Refused.
For your own agent
Deposit USDG into a vault. Set a daily cap and the recipients your agent may pay. Change the cap, swap or revoke the agent, withdraw — any time.
Create a vault# from your agent's key spend(vaultId, to, amount, memo) → ok: true Spent → ok: false Refused(reason)
Latest attempts
Every refusal is a transaction on Robinhood Chain. See them all on Proof →