🔒Request crypto withdrawal

Initiate withdrawal request

POST https://payments.finrax.com/api/v1/withdrawals

An endpoint for initiating cryptocurrency withdrawals. The amount can be selected either in fiat or crypto which is being defined by the targetAmountPolicy

Request Body

{
  "businessId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "clientWithdrawalId": "string",
  "recipientAddress": "string",
  "network": "BCH",
  "withdrawCurrency": "BCH",
  "displayCurrency": "AED",
  "blockchainFeePaidBy":"user",
  "targetAmountPolicy": "CRYPTO",
  "targetAmount": "string",
  "withdrawalAccount": "CRYPTO"
}
NameTypeDescription

businessId*

string

ID of the business from which the withdrawal should be executed.

clientWithdrawalId*

string

Withdrawal identifier provided by you

recipientAddress*

string

Wallet address of the recipient

destinationTag

string

Applicable for XRP and XLM. If no destinationTag is needed the field can be omitted from the request body.

network

string

Specifies the network that should be used in this withdrawal.

For ERC20 Tokens you can choose between ETH, TRX, BSC and SOL as values for the network field.

ETH stands for Ethereum network. This will be set as the default value when none is provided.

TRX stands for TRON network. Before executing any withdrawals through this network, please make sure your address supports it.

BSC stands for Binance Smart Chain. Before executing any withdrawals through this network, please make sure your address supports it.

SOL stands for Solana network.

For cryptocurrencies, other than ERC20 ones, the available network are XRP, XLM, LTC, BTC, BCH. In this case the network name matches the coin abbreviation.

To see the network values that are available for any currency, please check the table at the bottom of this page.

withdrawCurrency*

string

Cryptocurrency abbreviation that should be withdrawn e.g. BTC ETH XRP

displayCurrency*

string

Fiat currency abbreviation for pairing e.g. USD EUR GBP

blockchainFeePaidBy

string

Determine who will pay the blockchain fee for this withdrawal. Available options are merchant and user

targetAmountPolicy*

string

Specifies if the targetAmount will be requested in fiat or crypto

targetAmount*

string

The requested amount to be withdrawn in fiat or crypto

withdrawalAccount

string

Specifies which balance account should be charged for the withdrawal. One of FIAT or CRYPTO. Defaults to CRYPTO

Response bodies:

If the request was successful and there are no withdrawal rules configured, then we will send a 201 status code. In case a withdrawal rule was triggered and the withdrawal requires approval, we will send a 202 status code and the response as seen on the second tab below.

{
  "withdrawId": "b4c16bbc-d192-4cd1-ae95-e23ca12cbf1c",
  "clientWithdrawId": "My first Withdrawal",
  "recipientAddress": "rLsVuk4hgmGUtjQKj1ybpg1etnFodZ4CJ?dt=140",
  "network": "XRP",
  "initiatedBy": "http://gateway.finrax.test",
  "status": "NEW",
  "displayCurrency": "TRY",
  "displayServiceFee": "0.25",
  "withdrawCurrency": "XRP",
  "settlementCurrency": "USDC",
  "estimatedDisplayAmount": "200.00",
  "estimatedWithdrawAmount": "112.053789",
  "settlementDeductedAmount": "35.45448769",
  "settlementServiceFee": "0.25",
  "uniformAmount": "25",
  "uniformCurrency": "EUR",
  "uniformServiceFee" : "0.25",
  "createdAt": 1568882280
}

What is targetAmountPolicy?

The targetAmountPolicyfield provides the means for specifying the withdrawal amount either in FIAT currency or CRYPTO currency. When FIAT is selected as policy the resulting amount of the withdrawal in crypto will be calculated according to the fiat amount passed in targetAmount field. When CRYPTO is selected as policy the resulting amount of the withdrawal will be exactly the same as the amount passed in targetAmount field (subject to a negligible difference due to market conditions i.e. market step size)

{
    'withdrawCurrency': 'XRP',
    'displayCurrency': 'EUR',
    'targetAmount': '20',
    'targetAmountPolicy': 'FIAT'
}

//This translates to "Withdraw 20 EUR worth of XRP"
{
    'withdrawCurrency': 'XRP',
    'displayCurrency': 'EUR',
    'targetAmount': '200',
    'targetAmountPolicy': 'CRYPTO'
}

//This translates to "Withdraw 200 XRP"

List of currencies and their supported withdrawal networks

CurrencySupported networks

BTC

BTC

BCH

BCH

ETH

ETH, BSC

LINK

ETH

LTC

LTC

USDC

ETH, BSC, SOL

XLM

XLM

XRP

XRP

SOL

SOL

Last updated