🔒Request crypto withdrawal

Initiate withdrawal request

POST https://payments.b2bpay.co/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",
  "destinationTag": 0,
  "network": "BCH",
  "withdrawCurrency": "BCH",
  "displayCurrency": "AED",
  "targetAmountPolicy": "CRYPTO",
  "targetAmount": "string",
  "withdrawalAccount": "CRYPTO"
}
NameTypeDescription

businessId*

string

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

Optional for businessToken

clientWithdrawalId*

string

Withdrawal identifier provided by you

recipientAddress*

string

Wallet address of the recipient

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

withdrawalAccount

string

Specifies which balance account should be charged for the withdrawal. One of

FIAT or CRYPTO.

Defaults to CRYPTO

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

destinationTag

string

Applicable for XRP and XLM If no

destinationTag is needed 0

should be entered

network

string

Specifies the network that should be used in this withdrawal.

For ERC20 Tokens you can choose between ETH, TRX

and BSC 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.

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.

{
  "withdrawId": "b4c16bbc-d192-4cd1-ae95-e23ca12cbf1c",
  "clientWithdrawId": "My first Withdrawal",
  "recipientAddress": "rLsVuk4hgmGUtjQKj1ybpg1etnFodZ4CJ?dt=140",
  "network": "XRP",
  "initiatedBy": "http://gateway.test",
  "status": "NEW",
  "displayCurrency": "TRY",
  "displayServiceFee": "0.25",
  "withdrawCurrency": "XRP",
  "settlementCurrency": "USDT",
  "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, TRX

USDT

ETH, BSC, TRX

XLM

XLM

XRP

XRP

Last updated