---
title: "Create a regular payout"
method: POST
path: "/payouts"
---

# Create a regular payout

`POST /payouts`

[Available in Production/Sandbox environment] Create a regular payout

## Headers

- `X-XFERS-APP-API-KEY` string, required
- `X-PUBLIC-KEY-ID` string
- `X-TIMESTAMP` string
- `X-NONCE` string
- `X-SIGNATURE` string

## Request body

- object
  - `data` object
    - `attributes` object
      - `idempotencyId` string, required — Unique reference number provided by you to prevent double transaction, this cannot be repeated(Must be within 191 characters)<br>Regex: `/^\s*.{1,191}\s*$/`
      - `amount` number, float, required — Transaction amount (up to 2 d.p.). For SGD withdrawals, the maximum amount is 200k which is the FAST network limit.<br>Regex: `/^(?!0(\.0+)?$)([1-9]\d*(\.\d+)?|0\.\d*[1-9]\d*)$/`
      - `disbursementDetails` object
        - `description` string — Description of this transaction (contract) according to merchant.<br /><br />The following character sets are the only acceptable ones:<br />- Lowercase letters: **a-z**<br />- Uppercase letters: **A-Z**<br />- Numerals: **0-9 **<br />- Special characters: **/ - ? : ( ) . , ' +**<br />- Space character
        - `externalReference` string — External transaction reference which will be seen by the recipient.<br>Regex: `/^(?=.{1,35}$)[a-zA-Z0-9/\-?:().,' +]+$/`
        - `purposeCode` string — Regex: `/^[A-Za-z0-9]{1,6}$/`<br><br><strong>Note:</strong> Applicable to SGD payouts (via FAST network) and payments to UAE. Defaults to `OTHR` if omitted. Full list of supported purpose codes can be found [here](https://docs.straitsx.com/docs/remittance-purpose-code).
        - `chargeOption` string — <strong>Charge Option (`SHA` or `OUR`)</strong><br> Only applicable for withdrawals via SWIFT.<br><br> <strong>SHA (Shared Charges):</strong> You pay our fees; the beneficiary pays the agent/intermediary bank charges.<br> <strong>OUR (All Charges Paid by Sender):</strong> You cover all fees, including agent/intermediary bank charges, so the beneficiary receives the full amount.<br><br> <strong>Note:</strong> Please check with your commercial team to confirm the agreed pricing for both SHA and OUR before deciding which option to use.
      - `payoutRecipient` object
        - `payoutRecipientId` string, required — Payout Recipient ID is retrieved from the response id of Create Payout Recipient API
        - `disbursementMethod` string, required — Accepts `bankTransfer` or `paynow` or `swift` or `meps`<br><br><strong>Note:</strong><ul><li>For SGD, all listed methods are supported.</li><li>For USD, only `swift` is supported.</li></ul>
        - `walletSource` string — - Fiat Only Business User: `sgd`, `usd` - Default Business User: `xsgd`, `xusd`, `sgd`, `usd`

## Response `201`

201

- union
  - object
    - `data` object
      - `id` string — Payout contract ID.
      - `type` string — Request type.
      - `attributes` object
        - `amount` string — Transaction amount.
        - `createdAt` string — Timestamp when the transaction was created.
        - `description` string — Description of this transaction (contract) according to merchant.
        - `disbursementMethod` object — Disbursement details.
          - `accountNo` string — Bank account number.
          - `bankAbbrev` string — Bank abbreviation.
          - `currency` string — Transaction currency.
          - `type` string — Disbursement method type.
          - `walletName` string — Wallet from which funds are deducted.
        - `externalReference` string — External transaction reference which will be seen by the recipient.
        - `failureReason` string — Reason for failure (if applicable).
        - `fees` string — Fees charged for the transaction.
        - `idempotencyId` string — Idempotency ID for the transaction.
        - `status` string — Transaction status.
        - `updatedAt` string — Timestamp when the transaction was last updated.
  - object
    - `data` object
      - `id` string — Payout contract ID.
      - `type` string — Request type.
      - `attributes` object
        - `amount` string — Transaction amount.
        - `createdAt` string — Timestamp when the transaction was created.
        - `description` string — Description of this transaction (contract) according to merchant.
        - `disbursementMethod` object — Disbursement details.
          - `proxyType` string — Type of PayNow proxy.
          - `proxyValue` string — The actual PayNow identifier value.
        - `externalReference` string — External transaction reference which will be seen by the recipient.
        - `failureReason` string — Reason for failure (if applicable).
        - `fees` string — Fees charged for the transaction.
        - `idempotencyId` string — Idempotency ID for the transaction.
        - `status` string — Transaction status.
        - `updatedAt` string — Timestamp when the transaction was last updated.

---

[API](https://skmtc.net/straitsx/apis/straitsx-sandbox-base-url.md) · [All operations](https://skmtc.net/straitsx/apis/straitsx-sandbox-base-url/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/straitsx/straitsx-sandbox-base-url/versions/9ceee2969aeb/schema)
