Skip to content

Withdraw TRX from your balance

POST
/withdraw

Withdraws TRX to any TRON address. The order number is returned immediately, while the payout itself is performed by a background process, usually within five minutes. There is never a synchronous on-chain result in the first response — a pending acknowledgement always comes first.

The amount is reserved from your balance the moment the order is accepted, not when the TRX is finally sent.

The fee is withheld from the amount: 1 TRX normally and 2 TRX with sub_and_robot_out. The recipient receives net = amount − fee. The minimum is 3 TRX.

Only one withdrawal at a time may be in progress on your own balance — otherwise 4090.

Collect the result by polling the status endpoint or through a webhook.

Sub-users withdraw in exactly the same way — same method, their own key, their own balance. There is no separate endpoint for them.

Idempotency. The X-Idempotency-Key BECOMES the order number. Only accepted orders are cached: if the previous attempt failed on insufficient funds or validation, the same key can be resent — the request is processed again.

Authorizations

ApiKeyAuth

API key from the dashboard. Some Host Mode endpoints also accept the key as an api_key field in the request body — this is stated in the schema of the particular operation.

Type
API Key (header: X-API-KEY)

Parameters

Header Parameters

X-Real-IP*

An IP address from the key's whitelist. A request from an address outside the whitelist is rejected with 401.

Type
string
Required
Example"203.0.113.10"
Format
"ipv4"
X-Idempotency-Key

Idempotency key, 16–64 characters from A–Z a–z 0–9 + / = _ -. Built as base64url(HMAC-SHA256(api_key, "address:amount:nonce")) with padding removed. This same key becomes the order's orderId. If omitted, the server derives it from the request parameters within a short time window. type: string pattern: '^[A-Za-z0-9+/=_-]{16,64}$'

Type
string
Pattern
"^[A-Za-z0-9+/=_-]{16,64}$"

Request Body

application/json
JSON
{
  
"amount": 15,
  
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
  
"sub_and_robot_out": false
}

Responses

The request was accepted, the amount is reserved and the payout is queued.

application/json
JSON
{
  
"detail": {
  
  
"code": 10000,
  
  
"status": "string",
  
  
"msg": "string",
  
  
"data": {
  
  
  
"orderId": "string",
  
  
  
"amount": 0,
  
  
  
"fee": 0,
  
  
  
"net": 0,
  
  
  
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
  
  
  
"processed_at": "string",
  
  
  
"error_message": "string"
  
  
}
  
}
}

Playground

Authorization
Headers
Body

Samples

Powered by VitePress OpenAPI