Concepts
The ideas you need before building on Sail, in reading order:
- Separately Managed Accounts — what an onchain SMA is and why it exists.
- The three roles — Owner, Permission Signer, Manager, and who holds what authority.
- The mandate & selective dispatch — the mandate is a set of contracts, and each dispatch names one.
- The four evaluation guarantees — static evaluation, gas isolation, selective authorization, fail-closed.
- Deterministic deployment — why the core and every SMA have the same address on every chain.
- Glossary — precise definitions of every term.
The terminology hierarchy, from largest to smallest:
SMA (a Safe account registered with the kernel) → Mandate (the set of permissions registered for that SMA) → Permission (one
IPermissioncontract that authorizes a class of calls) → Template (a reusable permission implementation that many accounts configure independently).