> ## Documentation Index
> Fetch the complete documentation index at: https://docs.garden.finance/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Intent Flow

> Understand the complete technical flow of how user intents are processed in Garden protocol

![Garden Protocol Architecture Overview](https://mintcdn.com/garden-e60e7dd0/NpoTY5cHYX9LGVws/images/garden%20protocol.png?fit=max\&auto=format\&n=NpoTY5cHYX9LGVws\&q=85\&s=93e05bd99d51836ac8a125a2d2a53ded)

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:

**1. Intent creation**

User requests quote → Signs intent → Submits intent to order book

**2. Solver selection**

Order book selects solver → Solver begins settlement

**3. User settlement**

User initiates transaction → Solver executes on destination chain

**4. Completion**

User redeems funds → Solver completes settlement

Here is the detailed look into each step of the process.

## Creating an intent

> [card] Request quote
>
> 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.

> [card] Accept quote
>
> The user receives the quote and must **accept it** by creating a **signed intent message.**

> [card] Create intent
>
> 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:

**1. Quote submission**

All solvers submit their quotes based on the intent's parameters.

**2. Best quote determination**

The **best quote** (lowest price or highest efficiency) is determined.

**3. Breaking draws**

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.

**4. Solver confirmation**

Once a solver is selected, they prepare to execute the swap.

## Settlement: User-side execution

**1. Begin settlement**

The settlement process begins once the selected solver is confirmed.

**2. User initiation**

The user must **initiate settlement** by creating a **signed transaction message** for the intent.

**3. Relayer broadcast**

The signed message is submitted to a **relayer**, which broadcasts it on the blockchain.

**4. On-chain processing**

The transaction is processed on-chain, and the user's funds are locked or transferred to the relevant contract or wallet.

**5. Confirmation**

Once the transaction achieves the required number of blockchain confirmations, the settlement progresses to the solver's side.

## Settlement: Solver-side execution

**1. Receive confirmation**

The solver, upon receiving confirmation of the user-side transaction, initiates the corresponding transaction on their end.

**2. Execute on destination**

This step involves the solver locking funds on the destination chain, earmarked for the user.

**3. Solver transaction confirmation**

The solver's transaction also undergoes a confirmation process on the destination chain to ensure security and reliability.

## Redemption

**1. Asset availability**

After the solver's transaction achieves the required confirmations:

* The user can redeem funds on destination revealing the swap prehash.

**2. Solver redemption**

Once the user reveals the prehash the solver is able to recieve funds on the source chain, completing the swap.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.