Agents

Guardrails for autonomous
DeFi agents

Autonomy in execution. Bounds enforced by the chain. The smart account refuses anything outside your agent’s mandate — no judge, no allowlist server, no new chain to migrate to.

Why mechanical guardrails

Your agent will eventually do something stupid

Models hallucinate. Prompt injection works. Counterparties feed adversarial data. The bound has to live somewhere the agent can’t reason around — and that means on the chain.

  • Server allowlists fail at the network boundary

    A compromised agent server is one prompt injection away. The allowlist runs on the same machine being attacked.

  • LLM-as-judge can be jailbroken

    A second model is still a model. It hallucinates approvals, gets tricked by adversarial framing, and adds latency at the most expensive step.

  • Off-chain policy concentrates trust

    A vendor policy engine you don't control is a single trust anchor. If the agent sees the API, the agent can probe through it.

How it works

Three steps. The chain handles the rest.

01Permission

Define the agent role as code

Scope the action surface: targets, function selectors, parameter ranges, caps. The TypeScript SDK is ABI-typed against the contracts you permission — your IDE autocompletes the agent’s mandate.

// the trader can swap stables only

allowSwap({
  sell: [USDC, USDT, PYUSD],
  buy: [USDC, USDT, PYUSD],
  sellAllowance: '100k-monthly',
})
02Sign

The agent issues any transaction it wants

Your model reasons, plans, and decides. It signs with the agent’s key and submits — no off-chain coordinator, no verifier, no judge in the hot path.

// the agent decides and submits

const tx = await agent.propose(prompt)
await role.execute(tx)
03Enforce

The chain accepts what falls in scope. Reverts the rest.

Deterministic, and checked onchain. If the model is jailbroken and tries to drain to an attacker address, the smart account rejects in place. No alert, no human in the loop, no inference cost.

// the chain decides

swap USDC → DAI within cap
transfer 100k USDC to 0xbad…
  reverted: out of scope
Capabilities

The action surface is a configuration

Tune what the agent can attempt independently of how the agent thinks. Ship more autonomy where the chain says it’s safe; tighten the bound where you’re not yet sure.

  • Bound at the smart account

    The role is the contract. Out-of-scope calls revert at the chain — not at your server, not at a vendor’s endpoint. No probing surface.

  • Per-strategy isolation

    Each agent gets its own Safe with its own role. One strategy going off the rails cannot reach another strategy’s funds.

  • Pre-flight simulation

    The Smart Execution Router dry-runs multi-step bundles against current chain state. Bad outcomes caught before they cost gas.

  • No model in the critical path

    Permission checks are deterministic and enforced onchain. No inference, no judge, no LLM hallucinating an approval.

  • On the chain your capital lives on

    No new chain to bridge into. No new MPC escrow to onboard. The agent runs on your existing Safe, on the chain you already trust.

  • Audit trail by construction

    Every action is attributable to a role onchain. Per-strategy logs, per-agent attribution, every revert recorded. Forensics is straightforward.

Who builds on Zodiac

Agent teams in production

  • Quant funds

    Multi-strategy agents operating institutional capital. Each strategy bounded, each role isolated.

  • DeFi protocols

    Embedding agentic surfaces into your protocol without inheriting agent risk on the protocol treasury.

  • AI agent builders

    Shipping autonomous DeFi products without a vendor in your runtime trust path.

  • Treasuries

    Adopting agent-driven rebalancing and yield routing under hard onchain caps.

Proven in production

  • Safe
  • ENS
  • Railgun
  • Gnosis Pay
  • 1inch
  • Gnosis
  • Hats
  • Balancer
  • Lagoon
  • Almanak
  • Credit Coop
  • Arbitrum
  • Rethink
  • Snapshot
  • kpk
For teams in production

Control your onchain operations

Built on Safe. Designed for real-world onchain operations.