Skip to content
Wall 05 Bound

AI Agent Guardrails

Authority an agent cannot argue its way out of. Autonomous agents are about to transact at scale: rebalancing, paying, executing strategies, calling contracts on somebody's behalf. The current answer to what stops one doing something catastrophic is a prompt, a code review and hope. A prompt is not a control.

Wall05 of 05Watches5 surfacesBuilt for3 groupsLosses answered5Refuses a transactionThrough Live Detection

How it works.

An agent is software that decides things, which means it can be persuaded to decide the wrong thing, and being non-deterministic it cannot be usefully argued with. So the limits do not live in the prompt. They live in a contract that checks every action before it executes and does not care what the agent believes it was asked to do. You set the largest single payment, how much may move in an hour and a day, which contracts and functions may be called, and which addresses may receive anything. Authority expires on a schedule, and the kill switch is one transaction, immediate, held by you.

  • Per-operation caps
  • Rolling velocity limits
  • Allowlisted targets
  • A kill switch you hold

What it actually looks at.

Five surfaces, named. Anything outside this list is not covered by this wall; the perimeter page says which one covers it.

The largest single action, in value, that the agent may take
How much may move in an hour, a day and a week, so a compromised agent cannot drain in a thousand small steps what it was forbidden to move in one
Which contracts may be called, which functions on them, and which addresses may receive anything at all
Authority that expires on a schedule, rather than authority nobody remembers to revoke
A kill switch: one transaction, immediate, held by you and not by us

Who it is for.

Agent operators

Anyone running software that signs.

  • Agent platforms and frameworks
  • Trading and execution bots
  • Treasury and payment automation
  • Keeper and liquidation networks
  • Market-making desks
  • Rebalancing and yield strategies

Venues transacted against

Anyone on the other side of software that signs.

  • DeFi protocols
  • Exchanges and OTC desks
  • Bridges and message layers
  • Payment and settlement rails
  • RWA and tokenisation platforms

Whoever is accountable

Anyone who has to answer for what the software did.

  • Custodians and asset managers
  • DAO and corporate treasuries
  • Platform and engineering leadership
  • Compliance and risk functions

Five losses this wall answers.

Public, dated and sourced. Open a row for what happened and for what would have caught or refused it.

55.5ETHETH aixbt March 2025 sent by an autonomous agent that had been told, convincingly, to send it
What happened

An attacker reached the dashboard driving an autonomous agent and queued two malicious replies. The agent processed them as legitimate instructions and used its own tipping feature to send 55.5 ETH to the attacker. The model was not broken and the code was not exploited. The agent was persuaded.

What answers it

A destination allowlist and a per-operation ceiling are arithmetic. They do not read the instruction, weigh how convincing it was, or have an opinion about whether the dashboard was authentic. An address the agent has never paid waits out a cooling-off window, and anything above the cap reverts.

AI Incident Database, incident 1003
481TRIESTRIES Freysa November 2024 that the prompt survived, and then the 482nd one worked
What happened

An agent held a prize pool with one instruction: under no circumstances transfer the money. Anyone could pay to try to change its mind. 195 participants sent 481 messages and every one failed. The 482nd presented itself as a new administrative session, told the agent to drop its refusal language, and redefined what its own functions meant.

What answers it

That instruction was explicit, unambiguous, adversarially tested in public by hundreds of people, and it held 481 times. It was still not a control. A cap enforced by a contract has no 482nd message; it has a comparison that either passes or reverts, checked before the operation executes.

Simon Willison on 0xfreysa/agent
$$3MM Banana Gun September 2024 moved out of eleven users' wallets by the bot they had authorised
What happened

A vulnerability in the message layer the trading bot trusted let an attacker initiate transfers from the wallets of users who had authorised it. The transfers were manual and the targets chosen, which is why eleven experienced traders lost $3M rather than everyone losing a little.

What answers it

Software that spends money on your behalf needs a ceiling it cannot exceed, whether the instruction came from you or from someone impersonating you. Per-operation caps, rolling velocity limits by hour and by day, and a recipient allowlist bound the damage to a number you chose in advance. The kill switch is one transaction, immediate, and yours.

QuillAudits on the Banana Gun exploit
~$~$630KK Unibot October 2023 taken from token approvals users had granted an automated router
What happened

A new router contract shipped without the permission and parameter checks the old one had. Three days later an attacker used a call injection against it to spend the token approvals users had already granted, and swapped the proceeds out through a mixer.

What answers it

The exposure was never the bot's balance, it was the standing approvals pointed at it. Allowlisting which contracts and which specific functions an automated operator may call turns a blanket approval into a bounded one, and session authority expires rather than persisting until somebody revokes it.

CertiK on the Maestro and Unibot router exploits
~$~$485KK Maestro October 2023 drained through the same missing check, one week earlier
What happened

The bot's router contract lacked the permission and parameter checks that would have stopped an arbitrary call, and an attacker used it to spend users' pre-approved tokens. 280 ETH left. The team refunded 610 ETH across 106 addresses.

What answers it

Two bots, one week apart, the same missing check, and in both cases users had done nothing except grant an approval to software they had reason to trust. Enforcement belongs where a compromised operator cannot argue with it: checked before the operation executes, against a policy the venue can read.

CertiK on the Maestro and Unibot router exploits

What it builds on.

Shared substrate, not features of this wall. Every layer below is already paid for by the first wall in your scope.

AI Agent Guardrails This wall
ERC-8004 agent identity, extended rather than replaced
ERC-4337 and ERC-7579 smart accounts
EAS operator bindings and Ops Monitor behavioural baselines

How it is operated.

How this wall is run Stated before anything is provisioned

The limits live on chain, in a contract the agent cannot talk its way past. Every action is checked against the policy before it executes, by code that does not care what the agent believes it was asked to do. Authority expires, and the kill switch is one transaction, immediate, held by you.

What turns on when it is in scope.

Individually, or bundled with the walls beside it.

In scope

Both sides of the gate

The venue deploys the gate and gets bounded counterparties. The operator registers against it and gets a credible answer to why anyone should let their software near real money

In scope

Enforced at validation

Per-operation caps, rolling velocity limits, allowlisted targets and functions, session windows and a kill switch, applied where a leaked key cannot argue with an arithmetic comparison

It runs on the same bounded-authority contracts as the Circuit Breaker: the same caps, the same scoped pauses, the same custody-free posture. An agent is just another counterparty that needs limits, and every venue that adopts a policy contract for one gets the other nearly free.

Fuga Labs is read-and-attest, never custody-and-execute.
The cardinal ruleEnforced in code across every wall, AI Agent Guardrails included

Put AI Agent Guardrails on your perimeter.

A scoping call maps this wall against what you run and says where it reaches and where it stops. Nothing is provisioned until that is agreed in writing.