---
title: "Create a user withdrawal"
method: POST
path: "/withdrawals"
---

# Create a user withdrawal

`POST /withdrawals`

[Available in Production/Sandbox environment] Create a withdrawal from the user's StraitsX account

## 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.<br>Regex: `/^\s*.{1,191}\s*$/`
      - `bankAccountId` string, required — Bank Account ID is retrieved from the response id of Get List of Bank Accounts API
      - `amount` string, 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*)$/`
      - `network` string, required — `fast` for SGD withdrawal and `swift` for USD withdrawal
      - `walletSource` string, required — - Fiat Only Business User: `sgd`, `usd` - Default Business User: `xsgd`, `xusd`, `sgd`, `usd`
      - `transactionRemarks` string — External transaction reference which will be seen by the recipient.<br>Regex: Based on `network` type. - `fast`: max 35 characters - `swift`: max 105 characters

## Response `201`

201

- object
  - `data` object
    - `id` string — Withdrawal contract ID.
    - `type` string — Request type.
    - `attributes` object
      - `amount` string — Withdrawal transaction amount.
      - `fees` string — Fees charged for the transaction.
      - `transactionRemarks` string — External transaction reference which will be seen by the recipient.
      - `idempotencyId` string — Idempotency ID for the transaction.
      - `currency` string — Transaction currency.
      - `bankAccount` object — Destination bank account details.
        - `account_no` string — Bank account number.
        - `account_holder_name` string — Name of the bank account holder.
        - `bank` string — Bank abbreviation.
        - `swift_bic` string — Bank SWIFT/BIC code.
        - `routing_code` unknown
        - `intermediary_swift_bic` unknown
      - `status` string — Transaction status.
      - `netAmount` string — Net amount.
      - `createdAt` string — Timestamp when the transaction was created.
      - `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)
