Estimate Crypto Payouts

The Estimate endpoint allows you to retrieve the latest exchange rates, fees and network costs for a crypto payout without creating an actual payout request. This feature helps you display detailed cost information to your users before any funds are moved, enhancing transparency and user trust.

To generate an estimate, provide details such as the payout currencies, desired amount, and network information. You can choose to specify either:

  • The amount you want to send (walletRequiredAmount), or
  • The amount the recipient should receive (paidRequiredAmount).

The system will calculate the corresponding value for the other.

Do the following:

  1. Create a payout quote by sending the POST /api/v1/pay/estimate request with the similar payload:

    {
      "network": "ETHEREUM",
      "complianceDetails": {
        "requesterIpAddress": "172.16.254.1"
      },
      "walletId": "a:24072237783989:Unkx9kW:1",
      "walletCurrency": "USD",
      "paidRequiredAmount": 15,
      "paidCurrency": "USDT",
      "reference": "REF46730"
    }

    You can specify one of the following:

    • walletRequiredAmount: the amount to send in the wallet's currency, or
    • paidRequiredAmount: the amount the recipient should receive.

    The system will calculate the corresponding value based on the latest rates and fees.

    If the request is successful, you'll receive a 200 OK status with the estimated payout details.

    {
      "externalId": "4f7768e5-cd82-42c4-80d6-18d84a5b3832",
      "accountId": "4ea1277f-29d7-11ed-84d9-0a878439b77f",
      "walletId": "0da83d78-5c84-475f-a657-9b8b329e9491",
      "customerReference": "REF46730",
      "walletCurrency": "USD",
      "walletRequiredAmount": 15.79,
      "paidCurrency": "USDT",
      "paidRequiredAmount": 15,
      "feeCurrency": "USD",
      "feePredictedAmount": 0.16,
      "networkFeeCurrency": "USD",
      "networkFeePredictedAmount": 1.62,
      "totalWalletAmount": 15.95,
      "exchangeRate": 0.949715,
      "customerId": null,
      "paymentExternalId": null,
      "network": "ETHEREUM"
    }
  2. To update the quote every 30 seconds, use the externalId value that you received on step 1 to send the PUT/v1/pay/estimate/{externalId} request.

    You can provide new values in the payload or leave it as is. For the complete list of fields that can be updated, see the endpoint description in the API reference.

    {
      "paidRequiredAmount": 15
    }
    {
      "walletRequiredAmount": 15.79
    }
  3. When you are ready to make a payout, turn the quote into a pending payment by sending the PUT /api/v1/pay/estimate/{externalId}/accept request. Again, use the received externalId of the earlier quote.

    Note that on this stage, the payment is not sent yet.

  4. Confirm the payout by sending the PUT /{paymentId}/confirm/summary request.



Response Fields

Key Financial Information

The exchange rate is typically the most important piece of information that financial companies are after, as it directly affects the cost and value of transactions. Along with the source (walletCurrency) and destination (paidCurrency) currencies, this information helps you determine the exact conversion dynamics of the payout.

FieldTypeDescription
walletCurrencystringThe currency from which funds are debited (e.g., USD).
paidCurrencystringThe currency in which the payout is made (e.g., USDT).
exchangeRatenumberThe exchange rate applied between walletCurrency and paidCurrency.

Other Fields

FieldTypeDescription
externalIdstringUnique ID for the estimate request generated by the system.
accountIdstringInternal account ID associated with the estimate.
merchantIdstringID of the merchant used for this payout.
customerReferencestringThe reference provided in the request (REF46730).
walletRequiredAmountnumberCalculated amount in the wallet currency required to fund the payout.
paidRequiredAmountnumberThe amount the recipient will receive.
feeCurrencystringCurrency in which the transaction fee is calculated.
feePredictedAmountnumberEstimated transaction fee in the feeCurrency.
networkFeeCurrencystringCurrency for the blockchain network fee.
networkFeePredictedAmountnumberEstimated blockchain network fee in networkFeeCurrency.
totalWalletAmountnumberTotal amount debited from the wallet, including fees and network costs.
customerIdstringAssociated customer ID, if applicable.
paymentExternalIdstringExternal payment ID, if linked to an actual transaction (usually null for estimates).
networkstringBlockchain network to process the payout. Possible values include: TRON, ETHEREUM, LITECOIN, BITCOIN, RIPPLE, DOGECOIN, SOLANA, ALGORAND, CARDANO, BINANCE, POLYGON, BITCOIN_CASH.