Deriv API
Documentation
Wallet

Cross-Currency Transfer

PostAuth requiredBeta

Moves funds between two wallets owned by the authenticated client that hold different currencies. Quote the rate first with the exchange-rate endpoint, then send the returned exchange_rate and rate_token to execute at that rate. Any applicable currency-exchange fee is deducted from the amount.

Endpoint

Post/wallet/v1/transfers/exchange

Base URL: https://api.derivws.com

Status Codes

200OK - The transfer was executed, with the request_id echoed back.
400Bad request - The transfer breaks a transfer rule, the rate_token is stale, or the body failed validation.
401Unauthorized - Missing or invalid Bearer token.
403Forbidden - Valid token but insufficient scope (payment scope required).
429Too many requests - Rate limit exceeded.
500Internal server error - errors[0].code will be InternalServerError.
503Service unavailable - Request rejected by the gateway circuit breaker.
504Gateway timeout - The service did not respond in time.

Error Responses

400Validation error
{
  "errors": [
    {
      "status": 400,
      "code": "ValidationError",
      "message": "rate_token is required",
      "field": "rate_token"
    }
  ]
}
400Transfer limit breached
{
  "errors": [
    {
      "status": 400,
      "code": "DailyLimitError",
      "message": "This transfer would exceed your daily transfer limit"
    }
  ]
}

About Cross-Currency Transfer

The POST /wallet/v1/transfers/exchange endpoint: Moves funds between two wallets owned by the authenticated client that hold different currencies. Quote the rate first with the exchange-rate endpoint, then send the returned exchange_rate and rate_token to execute at that rate. Any applicable currency-exchange fee is deducted from the amount.

Click to open live chat support. Get instant help from our support team.