added

14 Mar 24 - USD rails and Blockchain API now available!

We have just rolled out an exciting new update: the ability to send and receive payments in USD! This enhancement is designed to provide more flexibility and convenience to your end-users. You can now make changes to your API requests to support USD rails on your platform.

Aside from this, we also rolled out the first phase of Blockchain API that supports blockchain transfer out to your whitelisted addresses. To help you understand what you can do with these new blockchain-related endpoints, we have also written a simple Blockchain API guide.

All of the following changes are now available under v0.1.0 of our API documentation.


Added the following endpoints:
PATCH /kyc/customer_profiles/{customer_profile_id}

  • New PATCH endpoint that allows you to update customer profile details. Note that registrationType of an existing customer profile cannot be updated.

GET /kyc/customer_profiles

  • New GET endpoint that allows you to get a list of all customer profiles

GET /api/v3/customer_profile/{customer_profile_id}/payment_methods

  • New GET endpoint that allows you to get the list of virtual accounts created for a particular customer profile

PUT /sandbox/customer_profile/{customer_profile_id}/virtual_bank_accounts/{virtual_bank_account_id}

  • New PUT endpoint in Sandbox that allows you to update the status of the virtual account created (note: this is only applicable to USD VA)

GET /customer_profile/deposits

  • New GET endpoint that allows you to get a list of all customer profile deposits

GET /blockchain_transfer/blockchains

  • New GET endpoint that shows you a list of supported blockchains for the various tokens on StraitsX

GET /blockchain_transfer/addresses

  • New GET endpoint that returns a list of blockchain wallet addresses you have added via the StraitsX dashboard

POST /blockchain_transfer/withdrawals

  • New POST endpoint that allows you to make a blockchain transfer out of XSGD or USDC to your whitelisted address

GET /merchant/account-balance

  • New GET endpoint that supports getting balances of both XSGD and USDC
  • Updated version of Get account balance v1 - v1 will continue to be supported for now and deprecation notice will be provided in due course

Modifications to existing endpoints:

POST /kyc/customer_profiles

  • The following parameters are now optional:
    • countryOfResidence
    • dateOfBirth
    • nationality
  • Additional parameters are now accepted to enable customer profile for USD capability:
    • registrationIdType
    • registrationIdCountry
    • address
    • placeofBiz
    • placeofBizCountry
    • countryOfIncorporation
    • dateOfIncorporation
  • Other modifications:
    • registrationId no longer allows special characters - only alphanumeric characters are accepted

POST /payment_methods/virtual_bank_accounts

  • The following parameter is now optional:
    • bankShortCode
  • Additional parameter now accepted:
    • currency- defaulted to SGD
  • Added status for USD VA's response
  • Added callback for USD virtual bank account's status update

GET /payment_methods/virtual_bank_accounts/{virtual_account_id}

  • Returns status, currency, and a more detailed instructions for USD VA

POST /customer_profile/{customer_profile_id}/withdrawals

  • Added optional parameter wallet_source that takes usdc as value for USD payout via SWIFT
  • Included swift_bic, bank_account_holder_name and beneficiary_address in the response for USD payout
  • Callback modified for USD payout

GET /customer_profile/{customer_profile_id}/withdrawals/{withdrawal_id} & GET /customer_profile/{customer_profile_id}/withdrawals

  • Included swift_bic, bank_account_holder_name and beneficiary_address in the response for USD payout

POST /sandbox/customer_profile/:unique_id/bank_transfer_simulations

  • Included currency to support bank transfer simulation for both SGD and USD
  • destination_bank_short_code is now no longer required

GET /customer_profile/{customer_profile_id}/deposits/{deposit_id} & GET /customer_profile/{customer_profile_id}/deposits

  • Included sender_bank, sender_bank_account_no, sender_bank_account_holder_name, and sender_bank_swift_bic in the response and callback
  • Allow new query params status and currency

POST /customer_profile/{customer_profile_id}/bank_accounts &GET /customer_profile/{customer_profile_id}/bank_accounts

  • Included swift_code in the response