Skip to Content
DevelopersStart here

Zodiac for developers

Zodiac gives an organization programmable control of its onchain assets: the tokens it holds, the protocols it uses, and the accounts that connect them. Teams, programs, and agents get exact onchain permissions. The owners keep full control and can revoke any permission at any time.

The assets live in a Safe smart account. If Safe is new to you, read what a Safe account is  first. Zodiac adds the permission layer on top of the account. Other smart accounts work as well, when they implement the open Zodiac interface — see Concepts.

Set up your organization as code

Constellations are the primary path into Zodiac. You describe your organization in TypeScript: the Safes, the roles, the members, and the permissions. The Zodiac SDK compares your description with the chain and applies the difference through the Zodiac App . The SDK does the full contract setup for you — you do not deploy or wire contracts yourself.

Start here: Quickstart: permission a Safe with Roles. In about 20 minutes, you go from the project template to enforced onchain permissions. The model behind the project — nodes, the apply loop, the file layout — is on the Constellations page.

New to the account model? Read Concepts first — it connects the app vocabulary with the onchain objects.

Operate in the app

The Zodiac App  is the interface for daily operations: import your Safes as vaults, build and apply policies without code, and execute transactions with Zodiac Pilot. The Guides tab covers this path. For the developer view of the app surfaces, see Execute as a role member.

The engine: Roles and Delay

Two audited contracts do the enforcement:

  • The Roles Modifier checks every call of a role member onchain and reverts all other calls. Policies in the app and constellations in the SDK both configure this contract.
  • The Delay Modifier holds transactions in a queue for a set time, so the Safe owners can cancel a bad transaction before it executes.

You do not have to touch these contracts directly. But every part of their behavior is documented here, so you can verify what you run.

Go deeper

Your goalRead
Understand the contract modelConcepts
Limit parameters and set spending limitsConditions, Allowances
Use tested protocol presetsDeFi Kit presets
Execute from scripts and botsRoles: Execution
Put an AI agent behind onchain limitsPermission an AI agent
Add a review period to transactionsQuickstart: Delay
Audit or integrate at the contract levelContract reference, Deployments, Security
Extend Roles with SolidityCustom conditions
Build your own moduleBuild a module
Look up a termGlossary

Get help

Last updated on