1. Fiat Withdrawal
v2.1 (Sandbox)
  • v2.1 (Production)
  • v2.1 (Sandbox)
  • v2.0 (Sandbox)
  • v1.0 (Deprecated)
  • API
    • 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
      • Create Merchant
      • Get Merchant
      • Initiate Merchant Activation
      • Confirm Merchant Activation
      • 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
        • Confirm Checkout
        • Order Accept
        • Get Checkout History
        • Get Checkout
        • Close Checkout
        • Get Checkout Acceptable Cryptos
        • Checkout Status Webhook
      • Crypto Refund v2.0
        • Create Crypto Void
        • Create Crypto Risk Refund
        • Create Crypto Refund
        • Close Crypto Refund
        • Get Crypto Refund
        • Get Checkout Refundable Info
        • 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
      • Validate Crypto Address
  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 withdrawal request.
About missingFields please refer to here
About the amount field
The amount field represents different values in the request and response depending on how fees are charged. Please read carefully before integrating.
Fee charging behavior
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 amountFirst-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-07 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). See field description for details.
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": "WD2026041514300001",
        "participantCode": "B0100106",
        "requireSameNamePayout": false,
        "withdrawalType": 1,
        "currency": "USD",
        "amount": "517.19",
        "fees": "15.00",
        "swiftChargingCode": 3,
        "estimatedAmountReceivable": "502.19",
        "to": "US12345678901234567890",
        "paymentReference": "PAY-20260415-002",
        "clientReference": "REF202604150009",
        "bankInfo": {
            "label": "Business Withdrawal Account",
            "bankAccountNumber": "US98765432109876543210"
        },
        "purposeOfTransaction": "invoice",
        "proofFile": "550e8400-e29b-41d4-a716-446655440000",
        "idorPassportFile": "660e8400-e29b-41d4-a716-446655440001",
        "status": 2,
        "statusInfo": "PROCESSING",
        "missingFields": [
            "documents.boardResolution",
            "highRiskCountries"
        ],
        "createdAt": 1776046508000,
        "updatedAt": 1776132908000
    }
}
Modified at 2026-07-23 09:11:19
Previous
Activate Same Name Withdrawal Webhook
Next
Submit Additional Information for Fiat Withdrawal Request
Built with