# Concepts

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.

<figure><img src="https://342306357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAIwXAmPWcA9c8KMBB0xA%2Fuploads%2FmHMN5N458NgGG63CwTio%2Faccountdottech_architecture.png?alt=media&#x26;token=a5afe829-9f9b-4069-9031-0cde1523cc34" alt=""><figcaption></figcaption></figure>
