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:
-
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, orpaidRequiredAmount
: 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" }
-
To update the quote every 30 seconds, use the
externalId
value that you received on step 1 to send thePUT/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 }
-
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 receivedexternalId
of the earlier quote.Note that on this stage, the payment is not sent yet.
-
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.
Field | Type | Description |
---|---|---|
walletCurrency | string | The currency from which funds are debited (e.g., USD ). |
paidCurrency | string | The currency in which the payout is made (e.g., USDT ). |
exchangeRate | number | The exchange rate applied between walletCurrency and paidCurrency . |
Other Fields
Field | Type | Description |
---|---|---|
externalId | string | Unique ID for the estimate request generated by the system. |
accountId | string | Internal account ID associated with the estimate. |
merchantId | string | ID of the merchant used for this payout. |
customerReference | string | The reference provided in the request (REF46730 ). |
walletRequiredAmount | number | Calculated amount in the wallet currency required to fund the payout. |
paidRequiredAmount | number | The amount the recipient will receive. |
feeCurrency | string | Currency in which the transaction fee is calculated. |
feePredictedAmount | number | Estimated transaction fee in the feeCurrency . |
networkFeeCurrency | string | Currency for the blockchain network fee. |
networkFeePredictedAmount | number | Estimated blockchain network fee in networkFeeCurrency . |
totalWalletAmount | number | Total amount debited from the wallet, including fees and network costs. |
customerId | string | Associated customer ID, if applicable. |
paymentExternalId | string | External payment ID, if linked to an actual transaction (usually null for estimates). |
network | string | Blockchain network to process the payout. Possible values include: TRON , ETHEREUM , LITECOIN , BITCOIN , RIPPLE , DOGECOIN , SOLANA , ALGORAND , CARDANO , BINANCE , POLYGON , BITCOIN_CASH . |
Updated 1 day ago