account.tech docs
  • Account.tech Documentation
  • Overview
    • Context
    • Stack Components
  • Design Philosophy
  • Move Framework
    • Concepts
      • Smart Accounts
      • Intents
      • Actions
      • Dependencies
      • Managed Assets
      • User
  • Implementation
    • Smart Account
    • Intent and Action
  • Packages
  • Move Registry
    • Multisig
  • DAO
  • Typescript Library
    • Untitled
  • Typescript SDKs
    • Untitled
Powered by GitBook
On this page
  1. Move Framework

Concepts

PreviousDesign PhilosophyNextSmart Accounts

Last updated 7 days ago

Smart Accounts represent an advanced form of Sui accounts. They are designed with flexible and customizable ownership rules and rich functionality based on intents.

An intent is an on-chain operation that is executed in multiple steps:

  • A user creates an intent to execute one or more actions sequentially

  • The intent is resolved according to the Smart Account's Config

  • When the conditions are met, the intent can then be executed by anyone

An action is defined as a unique operation on Sui (withdraw, transfer, etc.), represented by structs that are stacked in a heterogeneous map within an Intent.

Each Smart Account type has a specific Config and its associated intents have a specific Outcome.

The Config is a struct that contains the "parameters" or "ownership rules" for the Smart Account. It can be anything you want, from a simple threshold to a voting system, to a recovery mechanism.

The Outcome is a struct that holds the status of the intent resolution, according to the Config. It can be the votes that have been cast, the approvals that have been given, the amount of coin that has been spent, etc.