> For the complete documentation index, see [llms.txt](https://docs.thedex.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thedex.cloud/documentation/payouts/create-fiat-to-crypto-payout.md).

# Create fiat-to-crypto payout

<mark style="color:green;">`POST`</mark> `https://app.thedex.cloud/api/v1/payouts/fiat-to-crypto/create`

#### Headers

| Name                                             | Type   | Description                        |
| ------------------------------------------------ | ------ | ---------------------------------- |
| X-EX-APIKEY<mark style="color:red;">\*</mark>    | String | Your API key                       |
| X-EX-PAYLOAD<mark style="color:red;">\*</mark>   | String | Body to base64                     |
| X-EX-SIGNATURE<mark style="color:red;">\*</mark> | String | Encrypted body with the secret key |

#### Request Body

```json
{
  "fiatAmount": "Number",
  "fiatCurrency": "String",
  "payCurrency": "String",
  "address": "String",
  "memo": "Number",               // Optional
  "description": "String",        // Optional
  "callbackUrl": "String"         // Optional
}

```

**Request JSON attributes**

<table><thead><tr><th width="276">Name</th><th width="142">Type</th><th>Description</th></tr></thead><tbody><tr><td>fiatCurrency<mark style="color:red;">*</mark></td><td>String</td><td>Reach out accessed values to define attribute by link: <a href="/pages/T8Adh6BIVE4Ma5SN3zSc"><code>/api/v1/info/currencies</code></a><br>attribute <code>"fiatCurrencies"</code></td></tr><tr><td>payCurrency<mark style="color:red;">*</mark></td><td>String</td><td>Reach out accessed values to define attribute by link: <a href="/pages/T8Adh6BIVE4Ma5SN3zSc"><code>/api/v1/info/currencies</code></a><br>attribute <code>"payCurrencies"</code></td></tr><tr><td>fiatAmount<mark style="color:red;">*</mark></td><td>String</td><td>Amount in fiat currency that will be used to calculate the <code>"transferAmount"</code> based on the actual rate.</td></tr><tr><td>address<mark style="color:red;">*</mark></td><td>String</td><td>Address of  crypto wallet</td></tr><tr><td>memo</td><td>Integer</td><td>An additional TON or Ripple specific field to define the intended recipient or destination.</td></tr><tr><td>description</td><td>String</td><td><code>max size = 300</code></td></tr><tr><td>callbackUrl</td><td>String</td><td>Custom callbackUrl for a payout, that can be differ from user settings</td></tr></tbody></table>

**Response Body**

{% tabs %}
{% tab title="Response code 200 " %}

```json
{
   "id": "String",
   "status": "Integer",
   "statusName": "String",
   "fiatAmount": "String",
   "fiatCurrency": "String",
   "payCurrency": "String",
   "address": "String",
   "memo": "Integer",
   "createDate":"String",
   "modifiedDate":"String",
   "transactionId":"String",
   "withdrawalAmount":"String",
   "transferAmount":"String",
   "blockchainFee":"String",
   "payoutCommissionPercentage":"String",
   "rate":"String",
   "isApiCalled":"Boolean",
   "description":"String",
   "merchantId":"String",
   "callbackUrl":"String"
}
```

{% endtab %}

{% tab title="400" %}
General validation error: missing or malformed parameters.

```json
{
    "error": "Bad Request",
    "status": 400,
    "timestamp": "2026-01-01 00:00:00",
    "message": "fiatAmount: must not be null. "
}
```

{% endtab %}

{% tab title="422" %}
Insufficient funds to perform payout.

```json
{
    "errors": {
        "balance": "Not enough balance to create payout with amount `payout amount`. Available balance is `available amount` `payout currency`"
    },
    "status": 6
}
```

Invalid or incorrectly formatted address.

```json
{
    "errors": {
        "address": "The wallet address is invalid"
    },
    "status": 6
}
```

Transaction exceeds daily limits.

```json
{
    "errors": {
        "limit": "The daily limit has been exceeded."
    },
    "status": 6
}
```

Specific field validation error. ([Minimal limits](/introduction/confirmations-and-limits.md), etc)

```json
{
    "error": "Unprocessable Entity",
    "status": 422,
    "timestamp": "2026-01-01 00:00:00",
    "message": "Minimal limit amount doesn't exceed"
}
```

Blockchain related errors.

```json
{
    "error": "Internal Server Error",
    "status": 422,
    "timestamp": "2026-01-01 00:00:00",
    "message": "Cannot create payout"
}
```

{% endtab %}

{% tab title="403" %}
In case of not existing parameters, incorrect headers, etc..

```json
Empty response
```

Similar for not whitelisted address in merchant settings

```json
{
    "error": "Forbidden",
    "status": 403,
    "timestamp": "2026-01-01 00:00:00",
    "message": "Unauthorized access: IP address not in whitelist"
}
```

{% endtab %}

{% tab title="401" %}
In case of incorrect signature, api key or payload header

```json
{
    "error": "Unauthorized",
    "status": 401,
    "timestamp": "2026-01-01 00:00:00",
    "message": "Request is not authorized"
}
```

{% endtab %}
{% endtabs %}

**Response JSON attributes:**

<table data-header-hidden><thead><tr><th width="283.3333333333333"></th><th width="161"></th><th></th></tr></thead><tbody><tr><td><code>"id"</code></td><td><code>String</code></td><td>Payout id</td></tr><tr><td><code>"status"</code></td><td><code>Integer</code></td><td>each out all accessed values by link: <a href="/pages/z3ihQbPDAepeTxdumQ0z"><code>/api/v1/info/statuses</code></a></td></tr><tr><td><code>"statusName"</code></td><td><code>String</code></td><td>reach out all accessed values by link: <a href="/pages/z3ihQbPDAepeTxdumQ0z"><code>/api/v1/info/statuses</code></a></td></tr><tr><td><code>"fiatCurrency"</code></td><td><code>String</code></td><td>Fiat currency</td></tr><tr><td><code>"fiatAmount"</code></td><td><code>String</code></td><td>Amount in fiat currency</td></tr><tr><td><code>"payCurrency"</code></td><td><code>String</code></td><td>Cryptocurrency</td></tr><tr><td><code>"address"</code></td><td><code>String</code></td><td>Address is used to widthrawal</td></tr><tr><td><code>"memo"</code></td><td><code>String</code></td><td>Additional destination info</td></tr><tr><td><code>"createDate"</code></td><td><code>String</code></td><td>Creation date</td></tr><tr><td><code>"modifiedDate"</code></td><td><code>String</code></td><td>Modification date</td></tr><tr><td><code>"transactionId"</code></td><td><code>String</code></td><td>Could be ignored for this API.</td></tr><tr><td><code>"withdrawalAmount"</code></td><td><code>String</code></td><td>Withdrawal amount</td></tr><tr><td><code>"transferAmount"</code></td><td><code>String</code></td><td>Transfer amount</td></tr><tr><td><code>"blockchainFee"</code></td><td><code>String</code></td><td>Blockchain fee</td></tr><tr><td><code>"payoutCommissionPercentage"</code></td><td><code>String</code></td><td>Payout commission in percentage</td></tr><tr><td><code>"rate"</code></td><td><code>String</code></td><td>Rate</td></tr><tr><td><code>"isApiCalled"</code></td><td><code>Boolean</code></td><td>Always true for this API</td></tr><tr><td><code>"description"</code></td><td><code>String</code></td><td>Description</td></tr><tr><td><code>"merchantId"</code></td><td><code>String</code></td><td>MerchantId</td></tr><tr><td><code>"callbackUrl"</code></td><td><code>String</code></td><td>Custom callbackUrl for a payout, that can be differ from user settings</td></tr></tbody></table>

**Request curl**

```powershell
curl --location --request POST 'https://app.thedex.cloud/api/v1/payouts/fiat-to-crypto/create' \
--header 'X-EX-APIKEY: <string>' \
--header 'X-EX-PAYLOAD: <string>' \
--header 'X-EX-SIGNATURE: <string>' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--data '{
  "address": "<string>",
  "fiatAmount": "<string>",
  "fiatCurrency": "<string>",
  "payCurrency": "<string>",
  "description": "<string>",
  "memo": "<Number>",   
  "callbackUrl": "<string>" 
}'
```

**Example Curl**

```powershell
curl --location --request POST 'https://app.thedex.cloud/api/v1/payouts/fiat-to-crypto/create' \
--header 'X-EX-APIKEY: abcd1234apikeyexample' \
--header 'X-EX-PAYLOAD: eyJmaWF0QW1vdW50IjoxMjAwLCJmaWF0Q3VycmVuY3kiOiJNWE4iLCJwYXlDdXJyZW5jeSI6IlVTRFRfRVRIRVJFVU0iLCJhZGRyZXNzIjoiMHhlOWMwODAxRjdFYTNBNzFCRjBiYTRlMDI5MWQ4NTVBYTY3RmNkMkFiIiwibWVtbyI6IiIsImRlc2NyaXB0aW9uIjoiIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL215LXNpdGUuY29tL2NhbGxiYWNrIn0=' \
--header 'X-EX-SIGNATURE: 4a1d9f9c4d8bfc304c8123abc1f1b7cf56ff1e1b724f6c1c7c2b9dbeb1e5f012' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--data '{
  "address": "0xe9c080SF7Ea3u71BF0ba4a0291d855Aa67Fcd2Aa",
  "fiatAmount": "1200",
  "fiatCurrency": "MXN",
  "payCurrency": "USDT_ETHEREUM",
  "description": "Monthly contractor payout",
  "memo": "",
  "callbackUrl": "https://my-site.com/callback"
}'
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.thedex.cloud/documentation/payouts/create-fiat-to-crypto-payout.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
