> ## Documentation Index
> Fetch the complete documentation index at: https://docs-en.basswallet.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Request Instructions

## Request Format

All API requests are RESTful, and currently, only two methods are supported: GET and POST.

* **GET Requests**: All parameters must be sent in the `query string`.
* **POST Requests**: All parameters must be sent in the `request body` using the `form-data` format.

***

## Base URL

**Production Environment**:
`https://api.basswallet.com/api/`

**Beta Environment**:
`https://api-beta.basswallet.io/api/`

***

## API Authentication

* All APIs require an API Key, which must be included in the HTTP request header using the field `API-Access-Key`.
* Each API Key can have specific permissions configured. By default, no APIs are accessible. Ensure the API Key has the appropriate permissions before making a request.
* The request frequency for any single node must not exceed the maximum allowed access rate for that node within a given time period. Violating any rate limit will result in error code `429`.

***

## Request Example

**`POST /v1/account/withdraw`**

| Parameter Name | Value                                      |
| -------------- | ------------------------------------------ |
| tokenName      | USDT                                       |
| amount         | 500                                        |
| chainName      | Ethereum                                   |
| toAddress      | 0x9C903Cc6233ea0E9275452C13efe967a04EBe58b |
| timestamp      | 1724985575933                              |

* **API-Key**: `1bn3sMGefeVVz74o52VjRA7Rr0gzLgv7XEodfikwZ9gw5ROqeZor8kQPUSDr3WXa`
* **SecretKey**: `9qsua3vT6TWVFrWBqzwym2brU0fCXMOwPgF0gzGFwgJBheikFC3LX7lZ9LFTZIQ1`

***

### Request Body

Convert the parameter list into a single string, separating each parameter with `&`:
`tokenName=USDT&amount=500&chainName=Ethereum&toAddress=0x9C903Cc6233ea0E9275452C13efe967a04EBe58b&timestamp=1724985575933`

### HMAC SHA256 Signature

Sign the above string using HMAC SHA256. For details, refer to the [Signature Authentication Page](/api-reference/info/sign-info):
`966174f21ae551a832a4830231e3d3dacf4ad326dc437d391ec525dd4fdaab44`

### CURL Example

```bash theme={null}
curl
-H "API-Access-Key: 1bn3sMGefeVVz74o52VjRA7Rr0gzLgv7XEodfikwZ9gw5ROqeZor8kQPUSDr3WXa"
-H "Signature: 966174f21ae551a832a4830231e3d3dacf4ad326dc437d391ec525dd4fdaab44"
-X POST 'https://api.basswallet.com/api/v1/account/withdraw'
-d 'tokenName=USDT&amount=500&chainName=Ethereum&toAddress=0x9C903Cc6233ea0E9275452C13efe967a04EBe58b&timestamp=1724985575933'
```
