Retrieve cryptocurrency withdrawal records for a Binance account, with optional filters for asset, status, custom order ID, and time range.
/sapi/v1/capital/withdraw/history
This endpoint returns historical outgoing cryptocurrency withdrawal records associated with a Binance account. It allows developers to verify transaction statuses, retrieve blockchain transaction hashes (txId), and reconcile payout activities.
To optimize data processing, queries can be filtered by cryptocurrency symbol, withdrawal status, custom client order ID (withdrawOrderId), or specific UTC time intervals.
Parameters accepted by the endpoint.
| Parameter | Type | Required | Description |
|---|---|---|---|
coin |
STRING | Optional | Cryptocurrency symbol to filter records, e.g. BTC, ETH, USDT. |
withdrawOrderId |
STRING | Optional | Filter records by client-side custom withdrawal ID. |
status |
INT | Optional |
Withdrawal status filter: 0 Email Sent, 1 Cancelled,
2 Awaiting Approval, 3 Rejected, 4 Processing,
5 Failure, 6 Completed.
|
offset |
INT | Optional | Number of records to skip before returning results. |
limit |
INT | Optional | Maximum number of records returned. Default is 1000, maximum is 1000. |
startTime |
LONG | Optional | Start UTC timestamp in milliseconds. |
endTime |
LONG | Optional | End UTC timestamp in milliseconds. |
recvWindow |
LONG | Optional | Valid window time in milliseconds for signed requests. |
timestamp |
LONG | Required | Current request UTC timestamp in milliseconds. |
Status 6 indicates a fully processed and completed withdrawal.
For ongoing transactions, poll this endpoint until status transitions from
4 (Processing) to 6 (Completed) or 5 (Failure).
Example request using cURL.
curl -X GET \
'https://api.binance.com/sapi/v1/capital/withdraw/history?coin=USDT&status=6×tamp=YOUR_TIMESTAMP&signature=YOUR_SIGNATURE' \
-H 'X-MBX-APIKEY: YOUR_API_KEY'
Never place your Binance API secret in browser-side code, public repositories or client applications where it can be exposed.
Example response returned by the API.
[
{
"id": "b70287bf59e64e52bfcb6d860d5dd132",
"amount": "10.00000000",
"transactionFee": "1.00000000",
"coin": "USDT",
"status": 6,
"address": "TXXXXXXXXXXXXXXX",
"txId": "0x5c79219c63ed49429c67ef691a3c75127609212c4ef213a887b46d0a876a39d8",
"applyTime": "2026-03-15 11:20:05",
"network": "TRX",
"transferType": 0,
"withdrawOrderId": "WITHDRAW_1001",
"info": "Success",
"confirmNo": 1,
"walletType": 0,
"txKey": "",
"completeTime": "2026-03-15 11:22:10"
}
]
| Field | Type | Description |
|---|---|---|
id |
STRING | Binance internal withdrawal ID. |
amount |
STRING | Amount of cryptocurrency withdrawn. |
transactionFee |
STRING | Network transaction fee charged for the withdrawal. |
coin |
STRING | Cryptocurrency symbol. |
status |
INT | Status code of the withdrawal. |
address |
STRING | Destination blockchain address. |
txId |
STRING | Blockchain transaction hash/identifier. |
applyTime |
STRING |
UTC creation time formatted as YYYY-MM-DD HH:MM:SS.
|
network |
STRING | Blockchain network used for the transfer. |
withdrawOrderId |
STRING | Custom client withdrawal ID if provided during submission. |
completeTime |
STRING |
Completion UTC timestamp formatted as YYYY-MM-DD HH:MM:SS.
|
Typical workflow for querying withdrawal status.
Store the returned txId in your database once the withdrawal
reaches status 6 (Completed). This allows your application
to provide direct block explorer links to end users.
Verify whether outgoing automated payouts were successfully processed by Binance.
Periodically sync withdrawal records with accounting software or transaction ledgers.
Retrieve blockchain transaction hashes to monitor external network confirmations.
This article is part of our complete learning guide covering professional cross-exchange cryptocurrency arbitrage.
Explore the Spot Arbitrage Guide →This article is part of our complete learning guide covering Binance P2P automation, merchant tools, and automated trading.
Explore the Binance P2P Automation Guide →