Virapay API Docs
  • Introduction
  • Authorization
    • API Keys Management
    • Signature
    • Code snippets
  • Environments
  • Errors
  • Expired payment
  • Changelog
  • References
    • Crypto payments
      • 🔒Request crypto payment
      • 🔒Add payment details
      • 🔒Get payment data
      • Fetch deposit amounts metadata
    • Crypto withdrawals
      • Request withdrawal metadata
      • 🔒Request crypto withdrawal
      • 🔒Request crypto withdrawal approval status
    • Wallet Addresses
      • Validate address
    • Businesses
      • 🔒Get business by ID
      • 🔒Get business deposits
      • 🔒Get business withdrawals
      • 🔒Get business balance
    • Callbacks
      • Deposit received notification
      • Withdrawal broadcast notification
      • Withdrawal approved/rejected notification
    • Currencies & Fees
      • Get all currencies
      • Get exchange rates [crypto to fiat]
      • Get exchange rates [fiat to fiat]
      • Get exchange rates [any currency to any currency]
Powered by GitBook
On this page
  1. References
  2. Callbacks

Withdrawal broadcast notification

Currently, we support 10 cryptocurrencies as a payout option. Once you initiate a withdrawal we need to take care of a couple of things before we successfully broadcast it to the network. Withdrawals take on average 10 minutes to be broadcast on the designated blockchain network. Upon completion, you'll receive a callback notification.

This callback notification is sent on your withdrawalCallbackUrl endpoint.

{
    "status": "COMPLETED",
    "clientWithdrawalId": "Example-Withdrawal",
    "businessId": "19dee3c4-4dc9-4bcc-b8ed-92e3d4f256bd",
    "withdrawalId": "9b479a98-99ed-4bf9-87e0-4a05dbb012b6",
    "displayCurrency": "TRY",
    "withdrawCurrency": "XRP",
    "settlementCurrency": "USDT",
    "expectedDisplayAmount": "200.00000000",
    "actualDisplayAmount": "200.00000000",
    "estimatedWithdrawAmount": "119.63196400",
    "actualWithdrawAmount": "119.66467800",
    "deductedSettlementAmount": "35.28559158",
    "withdrawFee": "0.25000000",
    "displayFee": "0.42000000",
    "toTxAddress": "rLsVuk4hgmGUtjQKj1ybpg1etnFodZ4CJ?dt=140",
    "transactionId": "1AABB14A963442246EC6252B6FDCC72223544B9BBB9E28C431DF2F1C B3545DB5",
    "txAddressOwner": {
        "name": "Coinbase",
        "category": "Exchange"
  }
}
{
  "status": "FAILED",
  "clientWithdrawalId": "Example-Withdrawal",
  "businessId": "4e1a3d4a-c8c4-48c6-8a26-d3520a543521",
  "withdrawalId": "77a01c0e-7983-4acd-83bf-0d43b29bdee6",
  "displayCurrency": "USD",
  "withdrawCurrency": "BTC",
  "settlementCurrency": "USDT",
  "expectedDisplayAmount": "60.00",
  "estimatedWithdrawAmount": "0.00113791",
  "toTxAddress": "bc1qu7fvyhtcyd7fjueup7azqrqakw5fxkfex7me92",
  "txAddressOwner": {
    "name": "Darknet Shop",
    "category": "Darknet"
  }
}
{
  "status": "BLOCKED",
  "businessId": "407710f4-de33-454b-a44f-dda322q172a3",
  "displayFee": null,
  "toTxAddress": "ltc1qsv25klhsr4df87xqhe6rz0jyzark04khveuejq",
  "withdrawFee": null,
  "withdrawalId": "c76b2dca-1eff-37af-8646-3f5001165f9a",
  "transactionId": null,
  "txAddressOwner": {
    "name": "Unknown",
    "category": "Unknown"
  },
  "displayCurrency": "EUR",
  "withdrawCurrency": "LTC",
  "clientWithdrawalId": "client-withdrawal-1",
  "settlementCurrency": "EUR",
  "actualDisplayAmount": null,
  "actualWithdrawAmount": null,
  "settlementServiceFee": null,
  "expectedDisplayAmount": "20.07",
  "estimatedWithdrawAmount": "0.17659901",
  "deductedSettlementAmount": null,
  "displayRateDepegLossAmount": null,
  "settlementRateDepegLossAmount": null,
  "settlementMerchantTransactionFee": null
}
Parameter
Type
Description

status

string [required]

One ofCOMPLETED, FAILED or BLOCKED

clientWithdrawalId

string [required]

Unique withdrawal identifier provided by the merchant in the request body of POST /withdrawals

businessId

string [required]

Unique ViraPay business identifier UUID

withdrawalId

string [required]

Unique ViraPay withdrawal identifier UUID

displayCurrency

string [required]

The fiat currency chosen for display (denomination) purposes

withdrawCurrency

string [required]

Cryptocurrency to be withdrawn

settlementCurrency

string [required]

The currency in which the merchant's account was debited because of the withdrawal (can be either fiat or cryptocurrency)

expectedDisplayAmount

number [required]

Amount in displayCurrency requested for this payment

actualDisplayAmount

number [optional]

Actual amount withdrawn in displayCurrency currency (e.g.EUR, USD, GBP, TRY etc..)Can be different than expectedDisplayAmount

estimatedWithdrawAmount

number [required]

Estimated amount for this withdrawal. Can be different than actualWithdrawAmount

actualWithdrawAmount

number [optional]

Actual amount withdrawn in withdrawCurrencyCan be different than estimatedWithdrawAmount

deducedSettlementAmount

number [optional]

Amount debited from the merchant's balance in settlementCurrency

withdrawFee

number [optional]

Blockchain cost for this withdrawal in withdrawCurrency

displayFee

number [optional]

Blockchain cost for this withdrawal in displayCurrency

toTxAddress

string [required]

The address to which the actualWithdrawAmountwas sent

transactionId

string [optional]

Unique blockchain transaction ID of the withdrawal

txAddressOwner

object [required]

Address AML screening results

name

string [required]

Address owning entity name

category

string [required]

Address owning entity category

PreviousDeposit received notificationNextWithdrawal approved/rejected notification

Last updated 3 months ago