The OS

The operating system
for onchain organizations

Define onchain policies, scope operator roles, simulate and batch transaction flows, and extend everything through a typed SDK, all on top of the Safe stack your funds already sit in.

Built on Safe

The standard for extending Safe beyond multisig

Zodiac modules are the open standard for adding programmable logic to Safe accounts, used in production across the ecosystem, including by the Safe team themselves.

  • The open standard

    Zodiac is the recognized way to extend Safe with programmable logic: modules, roles, and policies that compose with the rest of the stack.

  • Open, audited, composable

    Independently audited and open source. Composes with any Safe: yours, your customers', your LPs'.

Capabilities

Everything your team needs to operate a Safe

01 — Policies

Define exactly what each role may do

Set allowed actions per contract, function, and parameter. Reduce the signing threshold for routine work, raise it for high-stakes calls, or delegate a scope to a different account entirely. The smart account refuses anything outside the bound, before it costs gas.

Swap · Rebalancer role
USDCsell · 100k monthly
USDTsell · 100k monthly
DAI
WETH
wstETH
02 — Allowances

Spending limits the chain enforces

Cap how much an operator role can move, per token, per period. Allowances refresh on schedule and reset on revoke. No more 'we trust this person to not misuse infinite approval.'

USDC allowance
Monthly
62,500of 100,000 available
37,500 used this periodTops up in 12 days
03 — Pilot extension

Run any dapp from your Safe, batched and simulated

The Pilot browser extension lets you connect any dapp as if you were a regular wallet, but routes execution through your Safe. Bundle a multi-step flow across protocols, simulate it pre-flight, and submit it as a single atomic transaction.

Connected via Pilot
  1. 1Approve USDC → Aave
  2. 2Supply 50,000 USDC to Aave
  3. 3Borrow 30,000 DAI from Aave
  4. 4Deposit 30,000 DAI to Morpho
Simulated transaction bundleSuccess
04 — Record into permissions

Click through a flow once. Permission it forever.

Pilot records the calls you make as you go. Save the recorded flow as a permission and an automated role can execute the same flow on a schedule, bounded to exactly the contracts, selectors, and parameters you used.

Calls recorded using Zodiac Pilot
aave.supply
assetamountallow anyrecorded
USDC50,0002h ago
USDC12,5005h ago
DAI30,0001d ago
05 — SDK

Any account topology, defined in code

Deploy whatever organizational structure you can dream up: nested accounts, scoped sub-orgs, role hierarchies. The TypeScript SDK is ABI-powered. Your IDE autocompletes allowed actions per contract you've permissioned. Or skip the IDE entirely: prompt your agent, it knows how to use it.

const opsSafe = eth.safe["Ops Safe"]({
  threshold: 2,
  owners: [eth.user["Alice"], eth.user["Bob"], eth.user["Charlie"]],
  modules: [eth.roles["Ops Safe"]],
});

const opsRoles = eth.roles["Ops Safe"]({
  roles: { rebalance_bot },
});

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.