Warden watches every payment your AI agents make on Sui, learns what's normal, and stops what isn't. It only asks you when it matters.
AI agents now pay for APIs, data and services on their own through x402. Most of them pay from a hot key with no spending controls at all.
A funded agent can pay anyone, any amount, any number of times. There is no daily cap and no pause button.
One retry bug can pay the same API dozens of times in minutes. You find out from the balance, not from an alert.
Monitoring tells you after the money has moved, and the Sui RPC gateway keeps only about three days of history.
Block anything over $20/daycap, enforced on-chain
Ask me before any new counterpartyescalate
Freeze an agent that pays the same API 50× in an hourpause
Rules are stored as data in Walrus Memory. When Warden asks you something, your reply becomes a new rule, so it doesn't ask twice.
| Day | Questions | Payments |
|---|
Every part has one job. The chain feed is live, the memory is permanent, and the brakes are a Move contract only you and Warden can touch.
One suix_queryEvents call per cycle covers every agent, because they all spend through one vault. Polls every 15s after activity, backing off to 120s when quiet.
Rules, incidents, your replies and each agent's normal spend. The gateway forgets after about three days; Walrus keeps everything, and Claude Code can read it over MCP.
Holds each agent's allowance and enforces per-payment and daily caps. Warden can pause an agent or tighten its caps; only you can withdraw.
Agents pay for APIs per request, settled on Sui. Warden pays for its own risk check before it trusts a counterparty it hasn't seen.
A LangGraph loop where every payment decision is deterministic: caps, velocity, new or lookalike addresses. A Groq-hosted model only turns your plain-English messages into rules.
Set rules in plain English, answer the odd question, and get a daily digest. There are no confirm buttons between steps.
Each memory is a small JSON record on Walrus. Warden recalls them before every decision, and you can open the same memory from Claude Code to ask why it did something.
{ "type": "rule", "text": "Ask me before any new counterparty over $5", "parsed": { "if": { … }, "then": "escalate" }, "source": "telegram", "learned_from": "your reply to a question" }
Numbers from Warden's own memory.
Connect a Sui wallet, name your agent and set a rule in plain English. Warden checks it against live testnet payments and alerts you in Telegram.