# Firm-Quote

Based on the order book you provide, our router will determine the optimal liquidity source to offer the best price. If your pricing is selected, Native will request a firm quote from you.&#x20;

The firm quote endpoint must adhere to the following format:

### **Endpoint**

```
GET <market_maker_base_url>/firm-quote
```

### **Params**

<table><thead><tr><th width="291">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>sellerTokenAmount</code></td><td>The token input amount of the order, in wei</td></tr><tr><td><code>chainId</code></td><td>Chain ID of the network (e.g., 1 for Ethereum, 56 for BSC)</td></tr><tr><td><code>sellerToken</code></td><td>The ERC20 token address that will be sent to the market maker</td></tr><tr><td><code>buyerToken</code></td><td>The ERC20 token address that will be received from the market maker</td></tr><tr><td><code>pool</code></td><td>Native pool contract address that will execute this order.</td></tr><tr><td><code>nativePool</code></td><td>The Native Rfq Pool address that execute the trade.</td></tr><tr><td><code>quoteId</code></td><td>Unique ID for this order request</td></tr><tr><td><code>deadlineTimestamp</code></td><td>Deadline UNIX timestamp specified by the user. You may double-check if the number is acceptable. And choose to reject any quotes with invalid numbers.<br><br>However, if a Market Maker wishes to set a maximum allowed expiry, please include that in the orderbook endpoint.</td></tr><tr><td><code>feeBps</code></td><td>Fee that Native will charge market makers, factored into their quote.<br><br>Native collaborates with market makers to track and pay fees off-chain. Contracts with market makers will specify how fees are set and paid, and data sources will be provided for monitoring fee obligations.</td></tr><tr><td><code>availableBorrowBalance</code></td><td>The amount of buyer token Market Makers can borrow from Native Inventory at the moment, in wei</td></tr></tbody></table>

#### **Example**

```plaintext
<market_maker_base_url>/firm-quote?sellerTokenAmount=10000000000000000000000&chainId=97&sellerToken=0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d&buyerToken=0x55d398326f99059ff775485246999027b3197955&nativePool=0xaaE854bdd940cf402d79e8051DC7E3390e32A3ac&quoteId=62716-206e-41cb-8559-013f1ed1a65a&deadlineTimestamp=1671086729&feeBps=12&availableBorrowBalance=10000000000000000000000
```

In this example, a user sells **10,000 USDC** to the market maker in exchange for **USDT** on **Binance Smart Chain (BSC)**.

### **Response**

You must provide a response in the following format:

<table><thead><tr><th width="225">Name</th><th>Description</th></tr></thead><tbody><tr><td><code>success</code></td><td>Indicates whether you can provide a firm quote for this order flow (true/false)</td></tr><tr><td><code>buyerTokenAmount</code></td><td>The amount of tokens you are exchanging with the seller</td></tr><tr><td><code>deadlineTimestamp</code></td><td>The timestamp when this order will expire, typically 20-30 seconds for execution</td></tr><tr><td><code>errorMessage</code></td><td>Include the reason for the error if <code>success</code> is false.</td></tr></tbody></table>

#### **Example**

```json
{
  "success": true,
  "buyerTokenAmount": "10100000000000000000000",
  "deadlineTimestamp": 1671086729, // Will be passed to sign-quote
  "errorMessage": ""
}
```

In the response above, the market maker returns **10,100 USDT** for the order sent in the example.

{% hint style="info" %}
The Native server is hosted in the AWS Tokyo region, and all market makers are required to respond to all endpoints in 100ms (end-to-end).
{% endhint %}


---

# 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/build-with-native/market-makers/mm-pricing-and-signing-api/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.
