1. Fiat Withdrawal
v2.1 (Production)
  • v2.1 (Production)
  • v2.1 (Sandbox)
  • v2.0 (Sandbox)
  • v1.0 (Deprecated)
  • v2.1
    • Getting Started
    • Account Setup For PSP
    • Account Setup For Direct Client
    • Idempotent Requests
    • Webhook
    • API Error Handling Guide
    • Changelog
    • Authentication
      • Create Token
    • Account Management
      • Get Balance
      • Internal Transfer
      • Get Internal Transfer
    • Merchant Management
      • Initiate Merchant Activation
      • Confirm Merchant Activation
      • Create Merchant
      • Get Merchant
      • Merchant Status Webhook
    • Fiat Payment
      • Fiat Deposit
        • Get Deposit Bank Account
        • Get Fiat Deposit Detail
        • Get Fiat Deposit History
        • Fiat Deposit Webhook
      • Fiat Account Management
        • Get Fiat Account Capabilities
        • Create Fiat Account Request
        • Submit Additional Information for Fiat Account Request
        • Get Fiat Account Application Status
        • Get Bank Accounts
        • Add Bank Account
        • Fiat Account Request Status Webhook
      • Fiat Withdrawal
        • Get Same Name Withdrawal Capabilities
          GET
        • Activate Same Name Withdrawal
          POST
        • Submit Additional Information for Activating Same Name Withdrawal
          POST
        • Activate Same Name Withdrawal Webhook
        • Create Fiat Withdrawal
          POST
        • Submit Additional Information for Fiat Withdrawal Request
          POST
        • Get Fiat Withdrawal Detail
          GET
        • Get Fiat Withdrawal History
          GET
        • Fiat Withdrawal Webhook
    • Crypto Payment
      • Crypto Deposit
        • Update Crypto Deposit Travel Rule Info
        • Get Crypto Deposit Wallet
        • Get Crypto Deposit
        • Get Crypto Deposit History
        • Crypto Deposit Webhook
      • Crypto Withdrawal
        • Register Wallet Address
        • Remove Wallet Address
        • Create Crypto Withdrawal
        • Get Wallet Address
        • Get Crypto Withdrawal
        • Get Crypto Withdrawal History
        • Crypto Withdrawal Webhook
      • Crypto Checkout v1.0
        • Create Crypto Checkout
        • Create Crypto Checkout Link
        • Crypto Checkout Wallet Connection
        • Generate POS Payment Request
        • Close Crypto Checkout
        • Get Convertible Cryptos
        • Get Supported Blockchains
        • Get Crypto Checkout
        • Get Crypto Checkout Link
        • Get Crypto Checkout Currencies
        • Crypto Checkout Webhook
      • Crypto Refund v1.0
        • Create Crypto Refund
        • Confirm Crypto Refund
        • Get Crypto Refund
        • Crypto Refund Webhook
      • Crypto Checkout v2.0
        • Create Checkout
        • Create Crypto Quotation
        • Order Accept
        • Get Checkout History
        • Get Checkout
        • Close Checkout
        • Get Checkout Acceptable Cryptos
        • Checkout Status Webhook
      • Crypto Refund v2.0
        • Get Checkout Refundable Info
        • Create Crypto Void
        • Create Crypto Risk Refund
        • Create Crypto Refund
        • Close Crypto Refund
        • Get Crypto Refund
        • Refund Status Webhook
    • Conversion
      • Create Quotation
      • Create Conversion
      • Get Quotation
      • Get Conversion
      • Conversion Webhook
    • Statements
      • Create statement
      • Get statement overview
      • Get statement entries
      • Get statement transactions
    • Points
      • Get Points Balance
      • List Points Transactions
      • Get Points Transaction Detail
    • Fee Estimate
      • Fee Estimate
    • Tool
      • Upload File
      • getTnC
  1. Fiat Withdrawal

Create Fiat Withdrawal

POST
/v2.0/payment/fiat/createWithdrawal
API Overview
ItemValue
API StatusStable
Current Versionv2.0
Backward CompatibilityYes
Applicable EnvironmentProduction
Applicable User RolesPSP and Direct Client

Description
Submit a fiat withdrawal request.
For missingFields, refer to the Fiat Account Management documentation.
Fee charging behavior by withdrawalType
First-party withdrawal (withdrawalType=1): fees are charged internally -- deducted from the amount you submit. The recipient receives less than the requested amount.
Third-party withdrawal (withdrawalType=2): fees are charged externally -- added on top of the amount you submit. The total amount deducted from your account exceeds the requested amount.
amount in the request
Withdrawal TypeMeaning of amount
First-party (internal fee)Gross amount: total to be deducted from your account, including fees.
Third-party (external fee)Net amount: amount the recipient will receive, excluding fees.
amount in the response
In both withdrawal types, the response amount represents the gross amount -- the total deducted from your account, including fees. It always satisfies:
amount (response) = fees + estimatedAmountReceivable
Important compatibility note
For third-party withdrawals, the value of amount is not the same in the request and the response:
Request amount = net (receivable) amount
Response amount = gross (deducted) amount
2026-07-10 Update
Request Body Additions:
amountType (integer, required): 1=Debit (gross debit amount), 2=Receive (net received amount). Backward Compatibility: when not provided by callers not yet upgraded, the backend falls back on withdrawalType (first-party -> Debit, third-party -> Receive), matching legacy behavior. New integrations must provide this field.
feeBearer (integer, optional, default=1): 1=Customer (borne by trading party), 2=Partner (borne by platform partner). Default behavior is unchanged.
Modified Fields:
amount: meaning now depends on amountType (previously relied on implicit withdrawalType convention).
Response Data Additions:
amountType, feeBearer (echoed from request)
debitAmount (string): gross debit amount
feeAmount (string): platform fee (alias for legacy field fees)
feeCurrency (string): fee currency
receivedAmount (string): net amount received by payee (alias for legacy field estimatedAmountReceivable)
Legacy Fields Retained as Aliases: fees -> feeAmount, estimatedAmountReceivable -> receivedAmount.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/json

Example
{
    "participantCode": "B0100106",
    "requireSameNamePayout": true,
    "withdrawalType": 1,
    "currency": "USD",
    "amount": "339.97",
    "swiftChargingCode": 1,
    "to": "US12345678901234567890",
    "paymentReference": "PAY-20260415-001",
    "clientReference": "REF202604150008",
    "bankInfo": {
        "type": 1,
        "typeOfThirdParty": 2,
        "corporateCountryCode": "US",
        "label": "Business Withdrawal Account",
        "bankAccountNumber": "US98765432109876543210",
        "swiftCode": "CHASUS33",
        "bankName": "JPMorgan Chase Bank",
        "bankAddress": "270 Park Avenue",
        "bankCountry": "US",
        "bankState": "NY",
        "bankCity": "New York",
        "postCode": "10017",
        "routingNumber": "021000021",
        "intermediaryBank": [
            {
                "currency": "USD",
                "swiftCode": "IRVTUS3N",
                "bankName": "The Bank of New York Mellon",
                "bankAddress": "225 Liberty Street",
                "bankCountry": "US"
            }
        ],
        "relationship": "Subsidiary",
        "beneficiaryOfThirdParty": {
            "name": "Scott Rippin",
            "email": "scott.rippin@example.com",
            "addressInfo": {
                "country": "US",
                "state": "Utah",
                "city": "Salt Lake City",
                "postCode": "84101",
                "addressLine1": "123 Main Street",
                "addressLine2": "Suite 400"
            }
        }
    },
    "purposeOfTransaction": "withdrawal",
    "proofFile": "550e8400-e29b-41d4-a716-446655440000",
    "idorPassportFile": "660e8400-e29b-41d4-a716-446655440001"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/v2.0/payment/fiat/createWithdrawal' \
--header 'Content-Type: application/json' \
--data-raw '{
    "participantCode": "B0100106",
    "requireSameNamePayout": true,
    "withdrawalType": 1,
    "currency": "USD",
    "amount": "339.97",
    "swiftChargingCode": 1,
    "to": "US12345678901234567890",
    "paymentReference": "PAY-20260415-001",
    "clientReference": "REF202604150008",
    "bankInfo": {
        "type": 1,
        "typeOfThirdParty": 2,
        "corporateCountryCode": "US",
        "label": "Business Withdrawal Account",
        "bankAccountNumber": "US98765432109876543210",
        "swiftCode": "CHASUS33",
        "bankName": "JPMorgan Chase Bank",
        "bankAddress": "270 Park Avenue",
        "bankCountry": "US",
        "bankState": "NY",
        "bankCity": "New York",
        "postCode": "10017",
        "routingNumber": "021000021",
        "intermediaryBank": [
            {
                "currency": "USD",
                "swiftCode": "IRVTUS3N",
                "bankName": "The Bank of New York Mellon",
                "bankAddress": "225 Liberty Street",
                "bankCountry": "US"
            }
        ],
        "relationship": "Subsidiary",
        "beneficiaryOfThirdParty": {
            "name": "Scott Rippin",
            "email": "scott.rippin@example.com",
            "addressInfo": {
                "country": "US",
                "state": "Utah",
                "city": "Salt Lake City",
                "postCode": "84101",
                "addressLine1": "123 Main Street",
                "addressLine2": "Suite 400"
            }
        }
    },
    "purposeOfTransaction": "withdrawal",
    "proofFile": "550e8400-e29b-41d4-a716-446655440000",
    "idorPassportFile": "660e8400-e29b-41d4-a716-446655440001"
}'

Responses

🟢200OK
application/json
Bodyapplication/json

Example
{
    "code": 200,
    "msg": "success",
    "data": {
        "fiatWithdrawalId": "WD2026071913310003",
        "participantCode": "B0100348",
        "requireSameNamePayout": false,
        "withdrawalType": 1,
        "currency": "EUR",
        "amount": "150.00",
        "fees": "50.00",
        "swiftChargingCode": null,
        "estimatedAmountReceivable": "100.00",
        "debitAmount": "150.00",
        "feeAmount": "50.00",
        "feeCurrency": "EUR",
        "receivedAmount": "100.00",
        "amountType": 1,
        "feeBearer": 1,
        "to": "9922334455",
        "paymentReference": null,
        "clientReference": "cw-fw-1784439097",
        "purposeOfTransaction": "testing",
        "proofFile": null,
        "idorPassportFile": null,
        "status": 1,
        "statusInfo": "",
        "createdAt": 1784439101000,
        "updatedAt": 1784439101000,
        "bankInfo": {
            "bankAccountNumber": "9922334455",
            "label": "test-au2"
        }
    }
}
Modified at 2026-07-23 07:33:41
Previous
Activate Same Name Withdrawal Webhook
Next
Submit Additional Information for Fiat Withdrawal Request
Built with