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 NameValue
tokenNameUSDT
amount500
chainNameEthereum
toAddress0x9C903Cc6233ea0E9275452C13efe967a04EBe58b
timestamp1724985575933
  • 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: 966174f21ae551a832a4830231e3d3dacf4ad326dc437d391ec525dd4fdaab44

CURL Example

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'