- Account types:
trading,optionsandcash - Headers: every call requires a unique
x-request-idheader. - Customer context: the customer is derived from your credentials. You never send a
gcid.
The Flow
All paths are relative tohttps://public-api.etoro.com/api/v1/money.
Step 1: Find the Allowed Transfers
CallGET /transfer-eligibility. It returns, for each of the customer’s source accounts, the destination accounts it can transfer to. Let the user pick from this list, and use the accountType and accountId values exactly as returned in the next steps.
A source with no destinationAccounts cannot transfer anywhere.
Step 2: Get the Maximum Amount
Once the user has chosen a source and a destination, callGET /transferable-balance with both accounts. It returns the most the customer can move right now, so you do not need to combine balances and limits yourself. A 404 means the pair is not available.
Step 3: Show Limits and Fees (Optional)
To show the user the policy bounds and the cost before they confirm, call:GET /transfer-limitsfor the minimum and maximum amount per routeGET /transfer-fee-configurationsfor the fee per route
Step 4: Execute the Transfer
CallPOST /transfers with the source account, destination account, amount, currency (the source account currency), and a requestReferenceId of your own.
transferId and requestReferenceId. A successful response means the transfer was accepted, not that it has completed, so continue to Step 5.
requestReferenceId is also your idempotency key. If a request times out, retry with the same value. Never reuse it for a different transfer.
Step 5: Track the Transfer
Read the outcome with one of:GET /transfers/{transferId}when you hold thetransferIdGET /transfers:lookup?requestReferenceId=...when you only hold your own reference
status is final.
If you receive a value you don’t recognise, treat it as not final and poll again.
Good to Know
- No demo environment: the transfer endpoints have no demo variants, so test with small real amounts on your own accounts.
- Trading sub-accounts: this transfer flow is not for trading sub-accounts.