Account Abstraction
All operations in the Ambient dex can be undertaken with account abstraction, where a user signs an operation off-chain and a third party relayer executes it on their behalf. Relayers can be made in any arbitrary token from a user's balance. There are multiple reasons why a user would want to do this:
Avoid the inconvenience of managing transactions
Pay an exact cost with easier to manage tokens (like USDC) instead of worrying about calculating gas fees.
Save on execution costs by having the relayer bundle their actions with other similar actions to amortize the gas cost.
Make a pre-signed transaction and save it for later
There are two types of account abstraction, one is immediate and the other is conditional. Immediate account abstraction occurs when a user signs an intention and sends it to a relayer with the hope of imminent and unconditional execution.
Conditional account abstraction is when a user signs a transaction but prefers for it to be executed only after some condition is met, such as a fixed time delay or a certain market condition such as a stop loss. All intentions in Ambient can be gated with a check to an arbitrary oracle contract with arbitrary calldata. E.g. to implement a stop loss, the intention can be signed with a call to an oracle that checks the Chainlink price has exceeded a given threshold.
Intentions in Ambient use a multi-dimensional nonce system, so unlike Ethereum transactions they can be executed with arbitrary dependence and a user doesn't have to wait for one to finish before the next executes.
Last updated