Skip to content

Guides

Hands-on walkthroughs, each grounded in the real on-chain signatures. Follow them in order for an end-to-end path from nothing to a running, bounded agent — or jump to the one you need.

  1. Write your first permission — a minimal IPermission, line by line.
  2. Deploy an SMA — create a Safe with the kernel enabled, and derive its deterministic address.
  3. Register a mandate & appoint a manager — sign and submit permission registration.
  4. Dispatch a transaction within bounds — execute a call, and see what a denial looks like.
  5. Use a shared template — configure SharedBoundedSwapPermission end to end.

All examples target a kernel already deployed at the address in Reference → Deployment addresses. EIP-712 domain: name = "SailKernel", version = "1", verifyingContract = the kernel, chainId = your chain.