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

# User Flow

> The quote, intent, signing, and execution flow behind every Utexo Swap.

A swap involves two participants: the **user**, who initiates the swap, and the **resolver**, who executes it. The process starts with a quote request.

<Steps>
  <Step title="Quote request">
    The user chooses the token pair and the amount to swap. The client sends these parameters to the [Quotes API](/product-suite/swap/api/quotes). The API returns a quote — a time-limited execution estimate that includes all pricing information.
  </Step>

  <Step title="Intent creation">
    After the user accepts the quote, the client [creates an intent](/product-suite/swap/api/intents/creation): a structured representation of the user's swap intention that references the accepted quote and specifies the user's source, destination, and refund addresses.
  </Step>

  <Step title="Signing the intent">
    The intent response contains everything the user needs to sign the swap. The user signs off-chain, cryptographically approving the swap parameters defined in the intent and authorizing resolvers to execute it under the quoted conditions. The client submits the signature as an [approval](/product-suite/swap/api/intents/approvals).
  </Step>

  <Step title="Execution">
    Once the approval is added, Utexo notifies the winning resolver. The resolver deposits the user's assets into an escrow on the source chain and then transfers the corresponding assets to the user on the destination chain. During execution, the client can [retrieve the intent status](/product-suite/swap/api/intents/status) to track progress.
  </Step>
</Steps>

## Request sequence

| Step                         | Endpoint                                                                                                                                                           |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Check API availability       | [`GET /v1/system/live`](/product-suite/swap/api/system-health-check)                                                                                               |
| Discover networks and tokens | [`GET /affiliate/v1/networks`, `GET /affiliate/v1/tokens`](/product-suite/swap/api/networks-and-tokens)                                                            |
| Get the best quote           | [`POST /affiliate/v1/quotes/best`](/product-suite/swap/api/quotes)                                                                                                 |
| Create an intent             | [`POST /affiliate/v1/intents`](/product-suite/swap/api/intents/creation)                                                                                           |
| Sign and submit the approval | [`POST /affiliate/v1/intents/{intent_id}/approvals`](/product-suite/swap/api/intents/approvals)                                                                    |
| Track the swap               | [`GET /affiliate/v1/swaps/intents/{intent_id}`](/product-suite/swap/api/intents/status), [`GET /affiliate/v1/swaps/history`](/product-suite/swap/api/swap-history) |
