> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thiqwave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Payout

> Send fiat to a bank account or stablecoins to a wallet.

## Create Payout

Initiate a payout to send fiat to a bank account or stablecoins to a wallet. All payouts must reference a valid quote.

### Endpoint

```
POST /v1/payouts
```

### Request Headers

| Header            | Required | Description                              |
| ----------------- | -------- | ---------------------------------------- |
| `X-API-Key`       | Yes      | Your API key                             |
| `Content-Type`    | Yes      | `application/json`                       |
| `Idempotency-Key` | No       | Unique identifier for idempotent retries |

### Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.thiqwave.com/v1/payouts \
    -H "X-API-Key: your_api_key" \
    -H "Content-Type: application/json" \
    -H "Idempotency-Key: unique_request_id" \
    -d '{
      "quote_id": "quote_9876543210",
      "destination_account": {
        "account_holder": "John Doe",
        "account_number": "0123456789",
        "bank_code": "ABUAAE3D",
        "country": "AE"
      },
      "reference": "payout_ref_001",
      "metadata": {
        "order_id": "order_456"
      }
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.thiqwave.com/v1/payouts', {
    method: 'POST',
    headers: {
      'X-API-Key': 'your_api_key',
      'Content-Type': 'application/json',
      'Idempotency-Key': 'unique_request_id',
    },
    body: JSON.stringify({
      quote_id: 'quote_9876543210',
      destination_account: {
        account_holder: 'John Doe',
        account_number: '0123456789',
        bank_code: 'ABUAAE3D',
        country: 'AE',
      },
      reference: 'payout_ref_001',
      metadata: {
        order_id: 'order_456',
      },
    }),
  });

  const payout = await response.json();
  console.log(payout);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.thiqwave.com/v1/payouts',
      headers={
          'X-API-Key': 'your_api_key',
          'Idempotency-Key': 'unique_request_id',
      },
      json={
          'quote_id': 'quote_9876543210',
          'destination_account': {
              'account_holder': 'John Doe',
              'account_number': '0123456789',
              'bank_code': 'ABUAAE3D',
              'country': 'AE',
          },
          'reference': 'payout_ref_001',
          'metadata': {
              'order_id': 'order_456',
          },
      }
  )

  payout = response.json()
  print(payout)
  ```
</CodeGroup>

### Request Body

| Field                 | Type   | Required    | Description                                                                                                                                  |
| --------------------- | ------ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `quote_id`            | string | Yes         | Quote ID from a prior quote request. Locks in rates and fees.                                                                                |
| `destination_account` | object | Conditional | Bank account object for fiat payouts. Required if destination is fiat. Contains: `account_holder`, `account_number`, `bank_code`, `country`. |
| `destination_address` | string | Conditional | Wallet address for stablecoin payouts. Required if destination is stablecoin.                                                                |
| `destination_network` | string | Conditional | Blockchain network for stablecoin payouts.                                                                                                   |
| `reference`           | string | No          | Your internal reference for the payout.                                                                                                      |
| `metadata`            | object | No          | Key-value pairs for your reference.                                                                                                          |

### Response

```json theme={null}
{
  "payout_id": "payout_1234567890",
  "quote_id": "quote_9876543210",
  "status": "pending",
  "source_currency": "USDT",
  "source_network": "ethereum",
  "source_amount": "500.00",
  "destination_currency": "AED",
  "destination_account": {
    "account_holder": "John Doe",
    "account_number": "0123456789",
    "bank_code": "ABUAAE3D",
    "country": "AE"
  },
  "destination_amount": 52250,
  "reference": "payout_ref_001",
  "created_at": "2026-04-09T14:30:00Z",
  "completed_at": null
}
```

### Response Fields

| Field                  | Type              | Description                                                     |
| ---------------------- | ----------------- | --------------------------------------------------------------- |
| `payout_id`            | string            | Unique payout identifier.                                       |
| `quote_id`             | string            | Associated quote ID.                                            |
| `status`               | string            | Current status: `pending`, `processing`, `completed`, `failed`. |
| `source_currency`      | string            | Source stablecoin or fiat currency.                             |
| `source_network`       | string \| null    | Source blockchain (if stablecoin).                              |
| `source_amount`        | string \| integer | Amount in source currency.                                      |
| `destination_currency` | string            | Destination currency.                                           |
| `destination_account`  | object \| null    | Bank account details (if fiat destination).                     |
| `destination_address`  | string \| null    | Wallet address (if stablecoin destination).                     |
| `destination_amount`   | string \| integer | Amount in destination currency.                                 |
| `reference`            | string            | Your reference for the payout.                                  |
| `created_at`           | string            | ISO 8601 timestamp of creation.                                 |
| `completed_at`         | string \| null    | ISO 8601 timestamp of completion.                               |

## Payout States

| Status       | Description                               |
| ------------ | ----------------------------------------- |
| `pending`    | Payout initiated and awaiting processing. |
| `processing` | Funds are being transferred.              |
| `completed`  | Funds delivered to recipient.             |
| `failed`     | Payout failed. Check details for reason.  |

## Notes

* Ensure the quote is not expired before creating a payout.
* For fiat payouts, verify bank account details are correct to avoid failed transfers.
* Monitor payout status via the [Get Payout](/api/payouts/get) endpoint or webhooks.
