# Create a Withdraw Request

**/sapi/v1/sunperp/dw/withdraw/apply**

Request type: POST

Signature verification: Yes

Interface permission: Withdraw

Rate Limit: Generally, the private interface rate limit of API key is at most 144 times every 3 seconds for each account (Trade Interface: at most 72 times every 3 seconds. Read Interface: at most 72 times every 3 seconds) (this rate limit is shared by all the altcoins contracts delivered by different date).

Interface description: Initiate a withdrawal request

#### Request Address <a href="#request-address" id="request-address"></a>

| Environment                         | Address                                     |
| ----------------------------------- | ------------------------------------------- |
| Online                              | [https://api.sunx.io](https://api.sunx.io/) |
| Online (preferred by aws customers) | [https://api.sunx.io](https://api.sunx.io/) |

**Request Parameter**

| Parameter | Data Type | Required | Description        | Value Range                            |
| --------- | --------- | -------- | ------------------ | -------------------------------------- |
| address   | string    | true     | Withdrawal address | should be the deposit address          |
| currency  | string    | true     | Currency           | e.g. usdt                              |
| chain     | string    | true     | Chain              | e.g. trc20usdt                         |
| amount    | string    | true     | Withdrawal amount  | <p><br></p>                            |
| fee       | string    | true     | Withdrawal fee     | For trc20usdt, this value  should be 0 |

**Response Parameter**

| Parameter  | Data Type   | Required | Description                                                                                                                                 | Value Range                           |
| ---------- | ----------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| status     | string      | true     | Response state                                                                                                                              | "ok" or "error"                       |
| error-code | string      | false    | Error code                                                                                                                                  | <p><br></p>                           |
| error-msg  | string      | false    | Error message                                                                                                                               | <p><br></p>                           |
| \<data>    | object      | true     | <p><br></p>                                                                                                                                 | <p><br></p>                           |
| nonce      | string      | true     | <p>The backend generates a random number. This number is unique to the user and is used to label the withdrawal request.</p><p><br></p>     | 32-bit string, format in \[0-9a-zA-Z] |
| content    | string      | true     | The original text that requires the user's signature, the content is to serialize after adding the nonce parameter to the input parameters. | <p><br></p>                           |
| expired-at | long        | true     | Nonce expiration timestamp, current time + 120 seconds                                                                                      | <p><br></p>                           |
| \</data>   | <p><br></p> | false    | <p><br></p>                                                                                                                                 | <p><br></p>                           |

<br>

<mark style="color:red;">Note：</mark>

* <mark style="color:red;">Should input 'CLOUD-EXCHANGE: 6X2K9L4V1C' in the request header</mark>
* <mark style="color:red;">API signature does not include the "/sapi/v1" part for url paths, only the "/</mark><mark style="color:red;">sunperp/dw/xxx" is considered.</mark>

**Request Example**

```
POST /sapi/v1/sunperp/dw/withdraw/apply?SignatureVersion=2&AccessKeyId=<your key>&Signature=<your signature>&SignatureMethod=HmacSHA256&Timestamp=2025-09-16T07%3A16%3A15
{
    "address": "TN1F755kgPevmwJZLUqbSaLfMmnVEz1EbV",
    "amount": "8.799999",
    "chain": "trc20usdt",
    "currency": "usdt",
    "fee": "0"
}
```

<br>

**Response Example**

```
{
    "status": "ok",
    "data": {
        "nonce": "85A6B8F36D591055",
        "content": "address:TN1F755kgPevmwJZLUqbSaLfMmnVEz1EbV,currency:usdt,chain:trc20usdt,amount:8.799999,fee:1.2,nonce:85A6B8F36D591055",
        "expired-at": 1757320137392
    }
}
```
