The Cash Transfers resources can be used by a White Label Client (WLC) to move money between the WLC's funding account and an account associated with one of the WLC's clients. It is possible to move money in either direction (from WLC funding account to the clients trading account or the other way around).

The reference documentation can be found here: Partner - Cash Transfer.

Initiating a Cash Transfer

You initiate a cash transfer by posting to the /atr/v1/partner/cashtransfers endpoint. The parameters are provided in the reference documentation.

Cash transfer initiated by partner.

In summary:

  • Amount and Currency specify the amount and currency of the money you wish to transfer.
  • The money will be transferred:
    • From the account identified by the FromAccountKey
    • To the account identified by the ToAccountKey
  • Normally Saxo will check that a cash transfer will not violate margin and funding checks related to the source account. It is possible to override such checks when moving money from a clients account to the WLC's funding account. This is done by setting FundingCheck="Ignore".
  • You may specify an ExternalReference, which is a string with a maximum length of 50 characters.

If the request is valid, you will receive:

  • FromAccountPositionId and ToAccountPositionId, which are the Id's that will show up on the from- and to-account representing the funding.
  • TransactionId, which is a Saxo issued Id representing the transaction.

This is an indication that your request has been received and is in the process of being executed by Saxo's backend system.

In the vast majority of cases the transaction request will be successfully completed within less than 1000ms.

Verifying Cash Transfer status

If you have the specific TransactionId (returned in the above operation), you may use /atr/v1/partner/cashtransfers/{TransactionId} to fetch the status of the transfer.

This will return the parameters of the transfer request along with the time of the request and a TransferStatus. Transfer status may take the following values:

FailedThe transfer failed. You need to contract Saxo for an explanation and for any corrective action needed.
PendingThe transfer request has been received, but it has not yet been processed by our back office system.
SuccessfulThe transfer request has been processed, and postings have been placed on both accounts.

You may also call /atr/v1/cashtransfers along with a number of query parameters to enumerate the list of all previously submitted cash transfer requests.

Using ExternalReference

ExternalReference is your identifier for the transaction request. ExternalReference may, but is not required to, be unique.

A good use case for ExternalReference is to handle the rare situation where the request to the POST /atr/v1/partner/cashtransfers endpoint times out. This could happen due to a fault at Saxo, but it would also be due to a network disconnection.

In such a situation you will not have received a TransactionId, but you may still be able to search for the transaction using GET /atr/v1/partner/cashtransfers?ExternalReference=xxxxx.

If there is not such entry, you can be sure that Saxo did not received your transaction request and you should resend it.

Transaction propagation time

Please beware that Saxo Banks system is distributed. It may therefore take a little time (typically less than 1000ms) before you can be sure that the account balances, retrieved through GET port/v1/balances are updated to reflect the effect of a requested cash transfer.