Intent Lifecycle
Last updated
Last updated
The protocol starts with intent. An actor within the system expresses an intent such as the intent to swap assets, issue a bond, or enter an option arrangement. An actor propagates their intention as a signed message to possible counterparties. When a willing counterparty wants to execute, they register the intent with the credible commitment device (CCD). Subsequently they will execute any necessary steps and fulfill. When ready for finalization, oracles will attest to the interchain state of the intent and lock/unlock funds as necessary. At this point in the process, a swap is complete, though more complicated intents may require additional steps.
As an example, a swap intent starts with a user or an application: a user may want to send 1DAI on Optimism for ~1USDC on Arbitrum (a bridge or payment) or an application may provide a loan for some use-case. Intents, being expressed and signed are propagated, possibly to the UnEx. The UnEx will propagate the users intent to swap to potential counterparties. Potential counterparties will determine what price they are willing to fulfill at.
Potential counterparties participate in a dutch auction. When a counterparty agrees to execute the intent to swap, it will register the intent on-chain, bidding and possibly winning the auction for the intent. From this point, the users funds will be will locked in an credible commitment device (CCD) on the source chain and the counterparty will provide the desired assets to the user via CCD on the destination chain.
Finally, oracles participate in and can dispute the state. When an interaction finalizes, funds have arrived on the destination chain and the oracle must attest to the fact on the source chain to unlock the funds for the counterparty. Finalization is relative as there is risk in a chain reorg, depending on the finalization window. Granted there are no disputes, the counterparty’s fund can be unlocked and released.