v1.0.0 (2026-08-15 18:56)
Withdraw
Overview
- Description: Submit a withdrawal application to transfer the account balance to a bound bank card.
Business Logic & Explanations
WARNING
The withdrawal interface involves core fund security. When converting it to a pure API, you must retain the original risk control defenses:
- Last Games Unsynced: As long as there are game tickets (bets) in ES that have not finished syncing, the interface is fused to prevent time-gap cheating.
- Winover & Turnover System: Strictly verifies whether
balanceis greater than the user'ssum_winover(unfinished turnover requirement) before withdrawal. - Waive/Forfeit Mechanism: The withdrawal will automatically match the maximum withdrawal limit (
final_max) configured in red packet or promotion activities. If the requested withdrawal amount exceeds the upper limit, the excess will be directly forfeited (Waive). - Daily Frequency & Limits: Combined with the user's VIP level, it intercepts withdrawal applications that exceed the limit or frequency.
1. POST - Submit Withdrawal Application
- Path:
/client/finance/withdraw
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Authorization | String | Yes | Bearer Token |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
amt | Number | Yes | Withdrawal amount |
currency | String | No | Withdrawal currency (if empty, defaults to system default currency) |
payment_bank | String | Yes | Bank token/ID supported by the payment channel |
bank_account | String | Yes | User's bank account number |
Response Example
json
{
"code": 0,
"msg": "Withdrawal application submitted",
"data": {
"transaction_id": "W20261122xxxx",
"actual_amount": 100.00,
"waive_amount": 0.00
}
}