Intent flow
Now that we know all the actors and modules in the system, let's take a detailed technical look at how all of them come together.
Here’s a simplified representation of the process:
- User requests quote → Signs intent → Submits intent to order book
- Order book selects solver → Solver begins settlement
- User initiates transaction → Solver executes on destination chain
- User redeems funds → Solver completes settlement
Here is the detailed look into each step of the process.
Creating an intent
- The user starts the process by requesting a quote for a desired swap. The quote contains details like the input asset, output asset, chains involved, and the desired amounts.
- The user receives the quote and must accept it by creating a signed intent message.
- This signed intent represents the user's objective, including parameters like assets, chains, amounts, and expiration details.
Selection of solver in the order book
- Once the user signs the intent, it is submitted to the order book, a decentralized system where solvers compete to fulfill the intent.
- Auction process:
- All solvers submit their quotes based on the intent's parameters.
- The best quote (lowest price or highest efficiency) is determined.
- Solvers with a higher staker score than the solver with the best quote have a 5-second window to match the quote.
- No acceptance: The best-quote solver wins.
- One acceptance: The accepting solver wins.
- Multiple acceptances: The solver with the highest staker score wins.
- Once a solver is selected, they prepare to execute the swap.
Settlement: User-side execution
- The settlement process begins once the selected solver is confirmed.
- The user must initiate settlement by creating a signed transaction message for the intent.
- The signed message is submitted to a relayer, which broadcasts it on the blockchain.
- The transaction is processed on-chain, and the user’s funds are locked or transferred to the relevant contract or wallet.
- Once the transaction achieves the required number of blockchain confirmations, the settlement progresses to the solver’s side.
Settlement: Solver-side execution
- The solver, upon receiving confirmation of the user-side transaction, initiates the corresponding transaction on their end.
- This step involves the solver locking or transferring funds on the user’s destination chain to fulfill the intent.
- The solver’s transaction also undergoes a confirmation process on the destination chain to ensure security and reliability.
Redemption
- After the solver’s transaction achieves the required confirmations:
- The user’s intended asset is made available on the destination chain.
- The solver receives their funds on the source chain, completing the swap process.
- The user can now redeem their receiving asset on the destination chain. This marks the final step of the process.