# Buy (Fiat On-Ramp)

The minimum Stable Coin buy is $10 (USDT, USDC, E-USDT).

### Exchange Rate

This endpoint is used to get both buy and sell rates between the fiat and crypto pair e.g. NGN-> USDT or USDT->NGN.&#x20;

## This endpoint is used to get the exchange rate

<mark style="color:green;">`POST`</mark> `https://exchanger-api.fuspay.finance/api/v1/no-auth/Axis/ExchangeRate/`

#### Headers

| Name                                            | Type   | Description                           |
| ----------------------------------------------- | ------ | ------------------------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | ***Bearer  ${partner\_secret\_key}*** |
| Content-Type<mark style="color:red;">\*</mark>  | String | application/json                      |
| x-partner-id<mark style="color:red;">\*</mark>  | String | Your partner ID eg. p602xxx           |

#### Request Body

| Name                                   | Type   | Description                                    |
| -------------------------------------- | ------ | ---------------------------------------------- |
| fiat<mark style="color:red;">\*</mark> | String | this is the fiat of the currency pair eg "NGN" |

Request Body

```json
// Sample body request

{
    "fiat":"NGN",
    "chain": "usdt-trc"
}


```

Response

{% tabs %}
{% tab title="200: OK successful response" %}

```json
{
     success: true,
     message: string,
     data: {
        "NGN/USDT": 1700,
        "USDT/NGN": 1670
     }
}
```

{% endtab %}
{% endtabs %}

"FIAT(NGN)/STABLE\_COIN(USDT)": "This notation means you are buying the stable coin at the rate shown"

"STABLE\_COIN(USDT)/FIAT(NGN)": "This notation means you are selling the fiat at the rate shown"

### Create Buy Order Endpoint&#x20;

## This is used to initiate a new buy order. The life cycle of the order is encapsulated in three (3) events as seen below

<mark style="color:green;">`POST`</mark> `https://exchanger-api.fuspay.finance/api/v1/no-auth/Axis/BuyUsdtWithFiat/`

All events will be communicated to the callback registered in the post request.

Event request body will be updated as buy order progresses through the following phases:&#x20;

a. event.buy.init  (buy order started, awaiting fiat payment)

b. event.buy.received.fiat (fiat payment received)

c. event.buy.credited.crypto (transaction completed)

d. event.buy.error (error occurred)

<mark style="color:red;">Event body is signed with sha 512. sha512(body, public\_key+secret\_key)</mark>

### The diagram below shows the complete flow of a buy order&#x20;

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

{% file src="/files/RvKKZkFeu3vw6pdskPNz" %}

The event body is right below. to show the data structure that should be expected.&#x20;

{% hint style="danger" %}
Axis does not handle third party on-ramp orders.  i.e . The name of the user the payer bank account has to pass 66% name match with the user's KYC name on Axis.\
\
All transactions that faill this test will be pending.  See the ["Pending Transactions"](https://app.gitbook.com/o/UlsbQabTdQpnUffvzs7w/s/FU24OF8juMGRM9K7EdyI/~/changes/37/order-history-and-status/pending-transactions) side bar for more information
{% 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://axis-docs.fuspay.finance/buy-fiat-on-ramp.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.
