# Executing a Quote

After receiving a crypto-to-fiat quote using the Request Crypto-to-Fiat Quote guide, the next step is to execute the transaction. This guide explains the process and best practices for initiating the conversion and handling the subsequent steps.

**Prerequisites**

Before executing an off-ramp quote, ensure you have:

* A valid `transactionId` obtained from a recent quote request.
* Complete and verified recipient KYC information (name, tax ID, tax ID country).
* Accurate fiat withdrawal details for the recipient (e.g., bank account/branch, IBAN, PIX key depending on the region).
* Recipient's email address for notifications.
* Details about the source of the funds (chain ID, wallet address).

**Best Practices**

* **Quote Handling:**
  * Always use a fresh quote. Quotes expire quickly due to market volatility. Re-request a quote if there's a delay before execution.
  * Store the `transactionId` securely, as it links the execution request to the specific pricing agreed upon.
  * Clearly display the final fiat amount, exchange rate, and fees from the quote to the user before they confirm execution.
* **Execution Handling:**
  * Ensure all required KYC and bank details are accurate before submitting the execution request to prevent payout failures.
  * Provide a valid recipient email address for transaction status updates.
  * Securely store the `transactionId` returned upon successful execution initiation. This ID is crucial for tracking the transaction's progress.
* **User Experience:**
  * Clearly communicate the steps involved: quote confirmation, crypto deposit, fiat payout.
  * Provide estimated processing and payout times.
  * Offer a way for users to track the transaction status using the `transactionId`.
  * Handle potential errors (e.g., invalid bank details, expired quote) gracefully with clear, user-friendly messages.
* **Security:**
  * Continue to follow authentication best practices as outlined in the Authentication Guide.
  * Validate all user inputs server-side before making the API call.
  * Securely manage API credentials (Client ID and Secret).
  * Handle sensitive recipient data (KYC, bank info) securely and in compliance with relevant regulations.

**Error Handling**

Be prepared to handle potential errors during execution, such as:

* Invalid or expired `providerQuoteId`.
* Missing or incorrect KYC or bank information.
* Authentication failures.
* API rate limiting.
* Network issues or timeouts.
* Insufficient funds or issues during the crypto deposit step.

**Status Monitoring**

Once the execution is initiated, the transaction will progress through several stages. You can track its status using the `transactionId`. Common statuses include:

* `pending`: The transaction is initiated and awaiting crypto deposit or processing.
* `completed`: The fiat payout has been successfully processed.
* `failed`: The transaction could not be completed due to an error.

For detailed information on tracking the transaction lifecycle, see the Monitor Off-Ramp Status guide. (Note: Assumes this path exists or will be created)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.orda.network/developers/api/off-ramps/executing-a-quote.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
