# Firm Quote

One approach to execute a swap via Native is by using the `/firm-quote` endpoint, which provides a firm quote along with signed calldata for on-chain execution.

For further details, refer to the following link:&#x20;

{% content-ref url="/pages/beek4O43pUvSY0qlQmTr" %}
[FirmQuote Swap APIs](/native-dev/build-with-native/swap-aggregators/firmquote-swap-apis.md)
{% endcontent-ref %}

### **The Swap Process**

<figure><img src="/files/t6ssf6frNm9QMwomrM8u" alt=""><figcaption></figcaption></figure>

1. Swappers query the `/orderbook` endpoint to obtain pricing and depth information and generate an initial quote.
2. Swappers submit the swap parameters, including the amount and token addresses, via the `/firm-quote` endpoint to receive a firm quote and executable calldata.
3. The calldata is executed on the blockchain to finalize the swap.

### **Key Considerations**

* Utilize the `/orderbook` or `/indicative-quote` endpoints for initial pricing estimates, typically displayed on the primary swap interface. The `/firm-quote` endpoint should be used for finalizing quotes before on-chain transactions.
* The `/firm-quote` endpoint may experience rate limits and slightly higher latency due to inventory control, additional checks, and signing processes.
* Specify the "expiry" parameter when requesting a firm quote. Note that longer expiries may reduce PMM liquidity, potentially resulting in less favorable quotes.
* Native aggregates liquidity from on-chain AMM DEX sources. Consequently, final signed orders may include swaps involving external liquidity. However, Swap API keys can be configured to exclusively utilize PMM quotes.


---

# 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.native.org/native-dev/concepts/firm-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.
