> 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"
}'
```
