Estimate Withdrawal
POST
/withdrawal/estimate/
Simulate a withdrawal to see expected amounts and fees before creating the actual withdrawal. This is useful for showing users exactly what they will receive before confirming.
Authentication
Requires OAuth 2.0 authentication with read and write scopes.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | decimal | Conditional | Crypto amount to withdraw. Either amount or price_amount is required |
price_amount | decimal | Conditional | Fiat amount for conversion. Either amount or price_amount is required |
price_currency | string | No | Fiat currency for price_amount conversion. Default: "USD" |
final_amount | boolean | No | If true, amount is what user receives after fees. Default: false |
currency | string | Conditional | Combined currency code (e.g., "USDTTRC20"). Either currency or blockchain + token |
blockchain | string | Conditional | Blockchain network (e.g., "TRON", "ETH"). Use with token instead of currency |
token | string | Conditional | Token symbol (e.g., "USDT"). Use with blockchain instead of currency |
address | string | No | Destination address. Improves fee accuracy (e.g., new TRC20 addresses have higher fees) |
Example Request
curl -X POST {{BASE_URL}}/withdrawal/estimate/ \
-H "Authorization: Bearer your_access_token" \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"currency": "USDTTRC20"
}'
Using blockchain + token
curl -X POST {{BASE_URL}}/withdrawal/estimate/ \
-H "Authorization: Bearer your_access_token" \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"blockchain": "TRON",
"token": "USDT"
}'
With final_amount
curl -X POST {{BASE_URL}}/withdrawal/estimate/ \
-H "Authorization: Bearer your_access_token" \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"currency": "USDTTRC20",
"final_amount": true
}'
Response
Success Response (200 OK)
{
"requested_amount": "100.00000000",
"fee": "1.50000000",
"amount": "98.50000000",
"currency": "USDTTRC20",
"blockchain": "TRX",
"token": "USDT",
"platform_fee": "1.00000000",
"network_fee": "0.50000000"
}
Response Fields
| Field | Type | Description |
|---|---|---|
requested_amount | string | Amount requested |
fee | string | Total fee (platform + network) |
amount | string | Amount user will receive |
currency | string | Combined currency code |
blockchain | string | Blockchain network |
token | string | Token symbol |
platform_fee | string | Platform fee component |
network_fee | string | Network fee component |
With final_amount = true
{
"requested_amount": "101.52000000",
"fee": "1.52000000",
"amount": "100.00000000",
"currency": "USDTTRC20",
"blockchain": "TRX",
"token": "USDT",
"platform_fee": "1.01520000",
"network_fee": "0.50480000"
}
Error Responses
400 Bad Request - Invalid Currency
{
"error": {
"code": "invalid_currency",
"message": "Currency INVALIDCOIN is not available for your account",
"details": {
"currency": "INVALIDCOIN"
}
}
}
Notes
- This endpoint only simulates the withdrawal -- no actual transaction is created
- Fees are estimates and may vary slightly when creating the actual withdrawal
- For TRC20 tokens, providing an
addressgives more accurate fee estimates - The
final_amountparameter is useful for "you receive exactly X" scenarios - Either
currencyorblockchain+tokenmust be provided - Either
amountorprice_amountmust be provided