> For the complete documentation index, see [llms.txt](https://docs.aftermath.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aftermath.finance/trade/dca/how-does-dca-work.md).

# How does DCA work

DCA requires multiple parties to have access to an account to execute trades at a specified interval, so the user does not have to perform those trades. Sui differs from other blockchains here, so a DCA implementation on Sui needs its own approach to get both performance and security.

On most blockchains, you grant a contract permission to access an account’s funds. Sui’s object-centric design works differently. Sui has two methods of finalizing transactions: consensus and the fast path. Consensus requires validators to approve a transaction and is used for shared objects, such as a user interacting with an AMM pool. Fast path is for simple transactions such as sending tokens from one user to another, which does not require consensus. Consensus on Sui is fast, but where DCA can use the fast path, it should.

Aftermath’s solution is to share the address which owns the object, rather than the object itself. It uses a Sui-native primitive, the k-of-n multisignature. When placing a DCA order, an order object is created specifying the amount and interval of each transaction. This object is owned by the multisig, which is derived on-chain, not passed from off-chain. The order object is soulbound to the multisig and can never be transferred elsewhere. The user gets cheaper gas and faster execution, with the same experience as DCA on any other chain or CEX.

For more on ways to implement DCA on Sui, and why Aftermath chose this one, see [this article written by our CTO, Kevin.](https://kevin-aftermath.medium.com/from-concept-to-implementation-shared-custody-on-sui-e63cb88134e7)

DCA on Aftermath has more features. Each order executes up to 30 seconds before or after the specified interval, to prevent gaming of regularly placed orders. As a protection against extreme volatility, it is also possible to set a maximum and minimum swap price for each trade. If the price does not fall within the user-specified range at the time of processing, it will not be executed. It is also possible to send the output of your trade to a different address of your choice, for example an investment or centralized exchange address. Once set, a DCA order runs without further action from you.

\\
