1. v2.1
v2.1 (Production)
  • v2.1 (Production)
  • v2.1 (Sandbox)
  • v2.0 (Sandbox)
  • v1.0 (Deprecated)
  • v2.1
    • Getting Started
    • Account Setup
    • Idempotent Requests
    • Webhook
    • API Error Handling Guide
    • Changelog 20260408
    • Authentication
      • Create Token
    • Account Management
      • Get Balance
      • Internal Transfer
      • Get Internal Transfer
    • Merchant Management
      • 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
        • Activate Same Name Withdrawal
        • Submit Additional Information for Activating Same Name Withdrawal
        • Activate Same Name Withdrawal Webhook
        • Create Fiat Withdrawal
        • Submit Additional Information for Fiat Withdrawal Request
        • Get Fiat Withdrawal Detail
        • Get Fiat Withdrawal History
        • 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
        • 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 Collection
        • Buyer Management
          • Create Buyer
          • Get Buyer
          • Update Buyer
          • Buyer Status Webhook
        • Create Collection Wallet
        • Update Collection Wallet
        • Get Collection Wallet
        • Get Crypto Collection
        • Update Co-KYT status
        • Crypto Collection Wallet Webhook
        • Crypto Collection Webhook
      • Crypto Refund
        • Create Crypto Refund
        • Confirm Crypto Refund
        • Get Crypto Refund
        • Crypto Refund Webhook
    • Conversion
      • Create Quotation
      • Create Conversion
      • Get Quotation
      • Get Conversion
      • Conversion Webhook
    • Tool
      • Upload File
      • getTnC
  1. v2.1

Changelog 20260408

Executive Summary#

StatusCountNote
New APIs0-
Deleted APIs1Fully removed
Modified APIs39With field-level changes
Unchanged APIs33No modifications
Total APIs (v2.0)73

Detailed API Changes#

The following sections detail all field-level modifications, organized by functional category.

Authentication#

Create Token#

Path: /v1.0/oauth/token → /v2.0/oauth/token
Method: POST
Summary Change:
Old: Get Token
New: Create Token
Request Body Changes:
client_id (Deleted)
Type: string
Required: True
Description: Client's ID
client_secret (Deleted)
Type: string
Required: True
Description: Client's Secret
clientId (Added)
Type: string
Required: True
Description: Client's ID
clientSecret (Added)
Type: string
Required: True
Description: Client's Secret
Response Body Changes:
access_token (Deleted)
Type: string
Required: False
Description: Access token
expires_in (Deleted)
Type: integer
Required: False
Description: Token expiry time
not-before-policy (Deleted)
Type: integer
Required: False
Description: A timestamp before which tokens are considered invalid
refresh_expires_in (Deleted)
Type: integer
Required: False
Description: Time in seconds until the token expiry is refreshed
scope (Deleted)
Type: string
Required: False
Description: Scope included in the token
token_type (Deleted)
Type: string
Required: False
Description: Token type
accessToken (Added)
Type: string
Required: False
Description: Access token
expiresIn (Added)
Type: integer
Required: False
Description: Token expiry time
tokenType (Added)
Type: string
Required: False
Description: Token type

Account Management#

Get Balance#

Path: /v1.0/ledger/account → /v2.0/ledger/account
Method: GET

Get Internal Transfer#

Path: /v1.0/payment/account/getInternalTransfer → /v2.0/payment/account/getInternalTransfer
Method: GET
Response Body Changes:
data
createdAt
Type: string -> integer
Description Change:
Old: Transfer transaction time
New: Transfer transaction time (Unix timestamp in milliseconds)

Internal Transfer#

Path: /v1.0/payment/account/internalTransfer → /v2.0/payment/account/internalTransfer
Method: POST
Response Body Changes:
data
createdAt
Type: string -> integer
Description Change:
Old: Transfer transaction time
New: Transfer transaction time (Unix timestamp in milliseconds)

Merchant Management#

Create Merchant#

Path: /v2.0/crm/addressBook/createMerchant
Method: POST
Request Body Changes:
merchantDetails
personalDetails
contactNumber
Description Change:
Old:
New: Phone number for contact, country code + Number. eg, +65 87654321
dateOfBirth
Description Change:
Old: Date of birth (UTC format)
New: Date of birth, format: YYYY-MM-DD, e.g., 1990-05-15
taxResidency
Description Change:
Old:
New: The country of tax residency (Country Code in ISO 3166-1 alpha-2 format)
corporationDetails
dateOfIncorporation
Description Change:
Old: Date of Incoporation
New: Date of Incoporation, format: YYYY-MM-DD, e.g., 1990-05-15
Response Body Changes:
data
merchantInfo
merchantDetails
personalDetails
contactNumber
Description Change:
Old:
New: Phone number for contact, country code + Number. eg, +65 87654321
dateOfBirth
Description Change:
Old: Date of birth (UTC format)
New: Date of birth, format: YYYY-MM-DD, e.g., 1990-05-15
taxResidency
Description Change:
Old:
New: The country of tax residency (Country Code in ISO 3166-1 alpha-2 format)
corporationDetails
dateOfIncorporation
Description Change:
Old: Date of Incoporation
New: Date of Incoporation, format: YYYY-MM-DD, e.g., 1990-05-15
status
Description Change:
Old: Current status of the application
New: Current status of the application Enum values: - 1: PROCESSING - 2: APPROVED - 3: REJECTED

Get Merchant#

Path: /v2.0/crm/addressBook/getMerchant
Method: GET
Response Body Changes:
data
merchantInfo
merchantDetails
personalDetails
contactNumber
Description Change:
Old:
New: Phone number for contact, country code + Number. eg, +65 87654321
dateOfBirth
Description Change:
Old: Date of birth (UTC format)
New: Date of birth, format: YYYY-MM-DD, e.g., 1990-05-15
taxResidency
Description Change:
Old:
New: The country of tax residency (Country Code in ISO 3166-1 alpha-2 format)
corporationDetails
dateOfIncorporation
Description Change:
Old: Date of Incoporation
New: Date of Incoporation, format: YYYY-MM-DD, e.g., 1990-05-15
merchantStatus
Description Change:
Old: Merchant status
New: Merchant status Enum values: - 1: PROCESSING - 2: APPROVED - 3: REJECTED

Fiat Payment#

Fiat Deposit#

Get Deposit Bank Account#
Path: /v1.0/crm/deposit/bankAccount → /v2.0/crm/deposit/bankAccount
Method: GET
Get Fiat Deposit Detail#
Path: /v1.0/payment/fiat/deposit/detail → /v2.0/payment/fiat/deposit/detail
Method: GET
Response Body Changes:
data
createdAt
Type: string -> integer
Description Change:
Old: Timestamp of deposit transaction, ISO-8601
New: Timestamp of deposit transaction (Unix timestamp in milliseconds)
Get Fiat Deposit History#
Path: /v1.0/payment/fiat/deposit/history → /v2.0/payment/fiat/deposit/history
Method: GET
Response Body Changes:
data
endTime
Description Change:
Old:
New: Unix timestamp in milliseconds
startTime
Description Change:
Old:
New: Unix timestamp in milliseconds
transactions
createdAt
Type: string -> integer
Description Change:
Old: Timestamp of deposit transaction, ISO-8601
New: Timestamp of deposit transaction (Unix timestamp in milliseconds)

Fiat Payment#

Fiat Account Management#

Add Bank Account#
Path: /v1.0/crm/addressBook/addBankAccount → /v2.0/crm/addressBook/addBankAccount
Method: POST
Get Bank Accounts#
Path: /v1.0/crm/addressBook/bankAccount → /v2.0/crm/addressBook/bankAccount
Method: GET
Get Fiat Account Application Status#
Path: /v2.0/crm/fiatAccount/appStatus
Method: GET
Response Body Changes:
data
status
Description Change:
Old: Status of the request
New: Status of the request Enum values: - 1: PENDING - 2: PROCESSING - 3: ACTIVE - 4: REJECTED
Submit Additional Information for Fiat Account Request#
Path: /v2.0/crm/fiatAccount/addInfo/submit
Method: POST
Response Body Changes:
data
status
Description Change:
Old: Status of the request
New: Status of the request Enum values: - 1: PENDING - 2: PROCESSING - 3: ACTIVE - 4: REJECTED
updatedAt
Description Change:
Old: Timestamp of update, UNIX timestamp in milliseconds (e.g., 1715000000000)
New: Timestamp of update, UNIX timestamp in milliseconds (e.g., 1715000000000)

Fiat Payment#

Fiat Withdrawal#

Create Fiat Withdrawal#
Path: /v2.0/payment/fiat/createWithdrawal
Method: POST
Request Body Changes:
amount
Type: number -> string
withdrawalType
Description Change:
Old: First or third party withdrawal
New: First or third party withdrawal Enum values: - 1: First Party - 2: Third Party
Response Body Changes:
data
amount
Type: number -> string
estimatedAmountReceivable
Type: number -> string
fees
Type: number -> string
missingFields
Description Change:
Old: Missing fields for the withdrawal request. Ref. to {} for details
New: Missing fields
status
Description Change:
Old: Withdrawal status. Possible values: 1-PROCESSING, 2-COMPLETED, 3-CANCELLED, 4-FAILED, 5-PENDING.
New: Withdrawal status. Possible values: 1-PROCESSING, 2-COMPLETED, 3-CANCELLED, 4-FAILED, 5-PENDING. Enum values: - 1: PROCESSING - 2: COMPLETED - 3: CANCELLED - 4: FAILED - 5: PENDING
withdrawalType
Description Change:
Old: First or third party withdrawal
New: First or third party withdrawal Enum values: - 1: First Party - 2: Third Party
Get Fiat Withdrawal Detail#
Path: /v2.0/payment/fiat/withdrawal/detail
Method: GET
Response Body Changes:
data
amount
Type: number -> string
estimatedAmountReceivable
Type: number -> string
fees
Type: number -> string
swiftChargingCode
Description Change:
Old:
New: 1-BEN (Beneficiary Pays All Fees), 2-OUR (Sender Pays All Fees), 3-SHA (Shared Fees).
withdrawalType
Description Change:
Old: First or third party withdrawal
New: First or third party withdrawal Enum values: 1: First Party 2: Third Party
Get Fiat Withdrawal History#
Path: /v2.0/payment/fiat/withdrawal/history
Method: GET
Response Body Changes:
data
endTime
Description Change:
Old: The end time
New: The end time (Unix timestamp in milliseconds)
startTime
Description Change:
Old: The start time
New: The start time (Unix timestamp in milliseconds)
transactions
amount
Type: number -> string
estimatedAmountReceivable
Type: number -> string
fees
Type: number -> string
swiftChargingCode
Description Change:
Old:
New: Swift charging code: 1-BEN (Beneficiary Pays All Fees), 2-OUR (Sender Pays All Fees), 3-SHA (Shared Fees).
withdrawalType
Description Change:
Old: First or third party withdrawal
New: First or third party withdrawal Enum values: - 1 - 2

Crypto Payment#

Crypto Deposit#

Get Crypto Deposit#
Path: /v1.0/payment/getCryptoDeposit → /v2.0/payment/getCryptoDeposit
Method: GET
Response Body Changes:
data
udpatedAt (Deleted)
Type: integer
Required: False
Description: Update time
updatedAt (Added)
Type: integer
Required: False
Description: Update time
status
Description Change:
Old: Status
New: Status 1 DETECTED 2 CONFIRMED 3 KYT FAILED 4 PENDING TRAVELRULE 5 TRAVELRULE COMPLETED 6 REJECTED 7 COMPLETED 8 CANCELLED 9 REFUNDED
Enum Change: Add: [9]
Get Crypto Deposit History#
Path: /v1.0/payment/getCryptoDepositHistory → /v2.0/payment/getCryptoDepositHistory
Method: GET
Response Body Changes:
data
transactions
udpatedAt (Deleted)
Type: integer
Required: False
Description: Update time
updatedAt (Added)
Type: integer
Required: False
Description: Update time
status
Description Change:
Old: Status
New: Status 1 DETECTED 2 CONFIRMED 3 KYT FAILED 4 PENDING TRAVELRULE 5 TRAVELRULE COMPLETED 6 REJECTED 7 COMPLETED 8 CANCELLED 9 REFUNDED
Enum Change: Add: [9]
Get Crypto Deposit Wallet#
Path: /v1.0/crm/deposit/wallet → /v2.0/crm/deposit/wallet
Method: GET
Update Crypto Deposit Travel Rule Info#
Path: /v1.0/payment/crypto/updateCryptoDepositTravelRuleInfo → /v2.0/payment/crypto/updateCryptoDepositTravelRuleInfo
Method: POST
Request Body Changes:
ownerInfo
Required: False -> True
Description Change:
Old: required if "isOwner" is false
New: Owner information
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
Response Body Changes:
data
Type: object -> null
Required: True -> False

Crypto Payment#

Crypto Withdrawal#

Create Crypto Withdrawal#
Path: /v1.0/payment/crypto/createCryptoWithdrawal → /v2.0/payment/crypto/createCryptoWithdrawal
Method: POST
Request Body Changes:
amount
Type: number -> string
Response Body Changes:
data
amount
Type: number -> string
beneficiaryWallet
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
feeAmount
Type: number -> string
Get Crypto Withdrawal#
Path: /v1.0/payment/getCryptoWithdrawal → /v2.0/payment/getCryptoWithdrawal
Method: GET
Response Body Changes:
data
amount
Type: number -> string
beneficiaryWallet
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
feeAmount
Type: number -> string
Get Crypto Withdrawal History#
Path: /v1.0/payment/getCryptoWithdrawalHistory → /v2.0/payment/getCryptoWithdrawalHistory
Method: GET
Response Body Changes:
data
transactions
amount
Type: number -> string
beneficiaryWallet
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
feeAmount
Type: number -> string
Get Wallet Address#
Path: /v1.0/payment/crypto/getWalletAddress → /v2.0/payment/crypto/getWalletAddress
Method: GET
Response Body Changes:
data
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
Register Wallet Address#
Path: /v1.0/payment/crypto/registerWalletAddress → /v2.0/payment/crypto/registerWalletAddress
Method: POST
Request Body Changes:
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
Response Body Changes:
data
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
Remove Wallet Address#
Path: /v1.0/payment/crypto/removeWalletAddress → /v2.0/payment/crypto/removeWalletAddress
Method: POST

Conversion#

Create Conversion#

Path: /v1.0/trade/conversion/createConversion → /v2.0/trade/conversion/createConversion
Method: POST

Create Quotation#

Path: /v1.0/trade/conversion/createQuotation → /v2.0/trade/conversion/createQuotation
Method: POST
Request Body Changes:
clientReference (Deleted)
Type: string
Required: False
Response Body Changes:
data
clientReference (Deleted)
Type: string
Required: False

Get Conversion#

Path: /v1.0/trade/conversion/getConversion → /v2.0/trade/conversion/getConversion
Method: GET

Get Quotation#

Path: /v1.0/trade/conversion/getQuotation → /v2.0/trade/conversion/getQuotation
Method: GET

Tool#

Upload File#

Path: /v2.0/auth/tools/upload
Method: POST
Response Body Changes:
fileId (Deleted)
Type: string
Required: False
Description: The unique id of the uploaded file
fileSize (Deleted)
Type: integer
Required: False
Description: The size of the uploaded file (byte)
code (Added)
Type: string
Required: True
Description: Response Code
data (Added)
Type: object
Required: True
msg (Added)
Type: string
Required: False
Description: Response Message

getTnC#

Path: /v2.0/tool/getTnC/{tncId}
Method: GET
Response Body Changes:
data
effectiveFrom
Type: string -> integer
Description Change:
Old: Effective date of the T&C
New: Effective date of the T&C (Unix timestamp in milliseconds)

Webhooks#

Conversion Webhook#

Type: Webhook
Name: Conversion Webhook
Method: POST
Request Body Changes:
eventType
Description Change:
Old: api_conversion_status_update
New: conversion.updated.v2

Crypto Deposit Webhook#

Type: Webhook
Name: Crypto Deposit Webhook
Method: POST
Request Body Changes:
data
udpatedAt (Deleted)
Type: integer
Required: False
Description: Update time
updatedAt (Added)
Type: integer
Required: False
Description: Update time
status
Description Change:
Old: Status
New: Status 1 DETECTED 2 CONFIRMED 3 KYT FAILED 4 PENDING TRAVELRULE 5 TRAVELRULE COMPLETED 6 REJECTED 7 COMPLETED 8 CANCELLED 9 REFUNDED
Enum Change: 新增: [9]
eventType
Description Change:
Old: Webhook event type = "api_deposit_crypto_status_update"
New: crypto.deposit.updated.v2

Crypto Withdrawal Webhook#

Type: Webhook
Name: Crypto Withdrawal Webhook
Method: POST
Request Body Changes:
data
amount
Type: number -> string
beneficiaryWallet
platformUserId
Description Change:
Old: Platform user id
New: required if "walletType" is "Platform Wallet"
feeAmount
Type: number -> string
eventType
Description Change:
Old: api_withdrawal_crypto_status_update
New: crypto.withdrawal.updated.v2

Fiat Account Request Status Webhook#

Type: Webhook
Name: Fiat Account Request Status Webhook
Method: POST
Request Body Changes:
data
status
Description Change:
Old: Status of the request
New: Status of the request Enum values: - 1: PENDING - 2: PROCESSING - 3: ACTIVE - 4: REJECTED
eventType
Description Change:
Old: api_fiat_account_request_status_update
New: fiat.account.request.updated.v2

Fiat Deposit Webhook#

Type: Webhook
Name: Fiat Deposit Webhook
Method: POST
Request Body Changes:
data
createdAt
Type: string -> integer
Description Change:
Old: Timestamp of deposit transaction, ISO-8601
New: Timestamp of deposit transaction (Unix timestamp in milliseconds)
eventType
Description Change:
Old: Webhook event type = "api_deposit_status_update"
New: fiat.deposit.updated.v2

Fiat Withdrawal Webhook#

Type: Webhook
Name: Fiat Withdrawal Webhook
Method: POST
Request Body Changes:
data
amount
Type: number -> string
estimatedAmountReceivable
Type: number -> string
fees
Type: number -> string
swiftChargingCode
Description Change:
Old:
New: Swift charging code: 1-BEN (Beneficiary Pays All Fees), 2-OUR (Sender Pays All Fees), 3-SHA (Shared Fees).
withdrawalType
Description Change:
Old: First or third party withdrawal
New: First or third party withdrawal Enum values: 1: First Party 2: Third Party
eventType
Description Change:
Old: Webhook event type = "api_withdrawal_status_update"
New: fiat.withdrawal.updated.v2

Merchant Status Webhook#

Type: Webhook
Name: Merchant Status Webhook
Method: POST
Request Body Changes:
data
updateAt (Deleted)
Type: integer
Required: True
Description: Update timestamp, UNIX timestamp in milliseconds (e.g., 1715000000000)
updatedAt (Added)
Type: integer
Required: True
Description: Update timestamp, UNIX timestamp in milliseconds (e.g., 1715000000000)
merchantInfo
merchantDetails
personalDetails
contactNumber
Description Change:
Old:
New: Phone number for contact, country code + Number. eg, +65 87654321
dateOfBirth
Description Change:
Old: Date of birth (UTC format)
New: Date of birth, format: YYYY-MM-DD, e.g., 1990-05-15
taxResidency
Description Change:
Old:
New: The country of tax residency (Country Code in ISO 3166-1 alpha-2 format)
corporationDetails
dateOfIncorporation
Description Change:
Old: Date of Incoporation
New: Date of Incoporation, format: YYYY-MM-DD, e.g., 1990-05-15
status
Description Change:
Old: Indicates the current status of the application
New: Indicates the current status of the application Enum values: - 1: PROCESSING - 2: APPROVED - 3: REJECTED
eventType
Description Change:
Old: Webhook event type = "api_merchant_status_update_v2"
New: merchant.updated.v2

Deleted APIs#

The following 2 APIs have been completely removed in v2.1:
MethodPathName
GET/v1.0/payment/getStatementGet Settlement Statement

Modified at 2026-04-17 10:06:53
Previous
API Error Handling Guide
Next
Create Token
Built with