Welcome
Welcome to Bitget API Document! Click here for a quick start
Update log
Aug 15, 2024
- API rate limit adjustment
Endpoint | Old rate limit | New rate limit |
---|---|---|
/api/broker/v1/account/sub-withdrawal | 10 req/sec/UID | 1 req/sec/UID |
Aug 17, 2023
- New Interfaces
Jul 5, 2023
- Update the enum of 'perm' in Create Sub ApiKey (Only Broker)
Dec 28, 2022
- Provide brand new telegram group for Openapi technical support
September 28, 2022
- Add
Sub Account Interface
->Sub Deposit Auto Transfer
September 27, 2022
- Add sub-account binding email
- Add sub-account to get email
July 01, 2022 [Added Broker Sub List]
- Added Sub List Interface
May 27, 2022 [Added Broker document]
- Added V1 documentation
- Error message support in Chinese/English
Introduction
API Introduction
Welcome to Bitget Developer document!
This document is the only official API document of Bitget API. We will constantly update the functionalities of Bitget API here. Please pay attention to it regularly.
You can switch to access different API products by clicking the upper menu, and you can switch a preferred language by clicking the language button on the upper right.
On the right side of the document will display examples of request parameters and response results.
Updates
Regarding API additions, updates, and offline information, Bitget will issue announcements in advance. It is recommended that you follow and subscribe to our announcements to obtain relevant information in time.
You can click here to subscribe to announcements.
Contact Us
If you have any questions or suggestions, you can contact us here:
- Send an email to API@bitget.com.
- Telegram Join
Quick Start
Access Preparation
This document is intended to clarify the API usage for brokers . If you have certain R&D and operation capabilities, and want to build a trading platform and manage your user independently, the independent broker service Yes is the best choice. You are responsible for front-end development and user operations, while Bitget provides you with back-end technology and market liquidity to empower your transaction value-added services.
- The broker could send an email to apply to become a Bitget broker
- Brokers could create APIKey at here after login, make sure to set an IP whitelist while creating the APIKey
- Brokers can create their own sub-accounts through this API, control permissions, create sub-account APIKeys, and place orders through sub-account APIKey.
Interface Type
This chapter mainly divides the interface types into the following two aspects:
Sub Account Interface
Create sub-accounts, modify permissions and query the list of sub-account information。
Sub API Interface
Create the APIKey for the sub-account, and set the permissions。
Access Restriction
This chapter mainly focuses on access restrictions:
- Rest API will return 429 status when the access exceeds the frequency limit: the request is too frequent.
Rest API
If the APIKey is valid, you can use the APIKey to limit the speed; if not, use the public network IP to limit the speed.
Speed limit rules: There are separate instructions on each interface. If there is no general interface, the speed limit is 10 times per second.
Special note: When placing orders in batches, 10 orders per currency pair will be counted as one request.
API Domain Name
You can use the Rest API access method to operate by yourself.
Domain Name | REST API | Recommended To Use |
---|---|---|
Domain | https://api.bitget.com | Main Domain |
API Verification
Initiate a request
The header of all REST requests must contain the following key:
- ACCESS-KEY:apiKey as a string, click to apply here after login
- ACCESS-SIGN:hmac SHA256 encrypt and base64 encoding(see signature )
- ACCESS-TIMESTAMP:Timestamp of your request, milliseconds since epoch
- ACCESS-PASSPHRASE:The passphrase you set while create the apiKey
- Content-Type:Set to
application/json
for POST request - locale: Support languages such as: English (en-US), Chinese (zh-CN)
//Java
Long timestamp = System.currentTimeMillis();
//python
import time
time.time_ns() / 1000000
//Golang
import (
"time"
)
int64(time.Now().UnixNano()/1000000)
//Javascript
Math.round(new Date())
//PHP
microtime(true) * 1000;
Signature
Signature - build content
//timestamp: milliseconds
//method: GET or POST
//requestPath: url path
//queryString: '?uid=123&startTime=16800001234&endTime=16800004321'
String content = timestamp + method.toUpperCase() + requestPath + queryString + body;
The request header of ACCESS-SIGN is generated as follows
1). Concatenate a string content like in the right console:
Signature - encrypt and encode
String encryptedString = hmacSHA256(content, secretKey);
String signature = Base64.encode(encryptedString);
2). Encrypt the content by HMAC SHA256 algorithm with the secretKey
, at the end use BASE64 to encode the hmac sha256 output.
Description of each fields in the signature
- timestamp:Same as ACCESS-TIMESTAMP request header, milliseconds since epoch
- method:Request http method (POST/GET), uppercase
- requestPath:Request url path
- queryString:The query string in the request URL (Usually the GET request parameters after the ?).
- body:The request body json string. If the request has no body (usually a GET request), the body can be omitted.
When the queryString is empty, signature content
String content = timestamp + method.toUpperCase() + requestPath + body;
When the queryString not empty, signature content
String content = timestamp + method.toUpperCase() + requestPath + "?" + queryString + body;
For example
Get Broker Info :
- Timestamp = 16273667805456
- Method = "GET"
- requestPath = "/api/broker/v1/account/sub-list"
- queryString= "?pageSize=10&lastEndId=0&status=normal"
Generate the content string to be encrypted and encoded:
'16273667805456GET/api/broker/v1/account/sub-list?pageSize=10&lastEndId=0&status=normal'
Create Sub Account :
- timestamp = 16273667805456
- method = "POST"
- requestPath = "/api/broker/v1/account/sub-create"
- body = {"subName":"mySub01","remark":"myBitgetSub"}
Generate the string to be signed:
'16273667805456POST/api/broker/v1/account/sub-create{"subName":"mySub01","remark":"myBitgetSub"}'
Steps to generate the final signature
HMAC
Step 1. Use the private key secretkey to encrypt the string to be signed with hmac sha256
String payload = hmac_sha256(secretkey, Message);
Step 2. Base64 encoding for Signature.
String signature = base64.encode(payload);
RSA
Step 1. Use the RSA privateKey privateKey to encrypt the string to be signed with SHA-256
Step 2. Base64 encoding for Signature.
Request Interaction
All requests are based on the Https protocol, and the Content-Type in the request header information needs to set to:'application/json' for all POST methods.
Request Interaction Description
- Request parameters: Encapsulate parameters according to the interface request method: queryString for GET and json body for POST.
- Submit request parameters: Submit the encapsulated request parameters to the server through GET/POST.
- Server Response:The server first performs parameter security verification on the user request parameters, and returns the response data to the user in JSON format according to the business logic afterwards.
- Data processing:Process the server response data.
Success
HTTP status code 200 indicates a successful response and may contain content. If the response contains content, it will be displayed in the corresponding return json field.
Common Error Codes
400 Bad Request – Invalid request format
401 Unauthorized – Invalid API Key
403 Forbidden – You do not have access to the requested resource
404 Not Found – No request found
429 Too Many Requests – Requests are too frequent and are limited by the system
500 Internal Server Error – We had a problem within our server
If it fails, the return body usually have an error message
Standard Specification
Timestamp
The unit of ACCESS-TIMESTAMP in the request signature is milliseconds. The timestamp of the request must be within 30 seconds of the API server time, otherwise the request will be considered expired and rejected. If there is a large deviation between the local server time and the API server time, we recommend that you update the http header by querying the API server time.
Request Format
There are currently only two supported request methods: GET and POST
- GET: The parameters are transmitted to the server in the path through queryString.
- POST: The parameters are sending to the server in json format in request body.
API Common parameters
account status
- normal
- freeze
- del
auth
- withdraw
- recharge
- transfer
- spot_trade
- contract_trade
- readonly: read permission (not actually readonly)
perm
- recharge
- transfer
- spot_trade
- contract_trade
- readonly: read permission (not actually readonly)
productType
- umcbl
USDT perpetual contract
- dmcbl
Universal margin perpetual contract
- cmcbl
USDC perpetual contract
- sumcbl
USDT simulation perpetual contract
- sdmcbl
Universal margin simulation perpetual contract
- scmcbl
USDC simulation perpetual contract
marginMode
Position Mode
- fixed Isolated margin crossed Cross margin
toAccountType
- spot
- mix_usdt
- mix_usd
- mix_usdc
RestAPI
Sub Account Interface
Get Broker Info
Limit rule:10/sec (uid)
HTTP Request
- GET /api/broker/v1/account/info
Response
{
"code":"00000",
"msg":"success",
"data":{
"subAccountQty":"2311",
"maxSubAccountQty":"5000"
}
}
Response Parameter
Parameter | Description |
---|---|
subAccountQty | Number of sub-accounts created by the broker |
maxSubAccountQty | Maximum number of sub-accounts that could be created |
Create Sub Account
Limit rule:1/sec (uid)
HTTP Request
- POST /api/broker/v1/account/sub-create
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subName | String | Yes | Sub account name, like email |
remark | String | No | Remark, length < 20 |
Response
{
"code":"00000",
"msg":"success",
"data":{
"subUid":"293848922",
"subName":"subEmail@hyc.com",
"status":"normal",
"auth":["spot_trade","transfer"],
"remark":"mySub01",
"cTime":"1651130117853"
}
}
Response Parameter
Parameter | Type | Description |
---|---|---|
subUid | String | Sub account UID |
subName | String | Sub account name |
status | String | Account Status |
auth | String Array | Permissions, separated by comma |
remark | String | Remark |
cTime | String | Created timestamp, milliseconds |
Get Sub List
Limit rule:1/sec (uid)
HTTP Request
- GET /api/broker/v1/account/sub-list
Request Parameter(Request Param)
Parameter | Type | Required | Description |
---|---|---|---|
pageSize | String | No | Default: 10, Max: 100 |
lastEndId | Long | No | lastEndId, pagination |
status | String | No | sub account status |
Response
{
"code": "00000",
"msg": "success",
"requestTime": 1656589586807,
"data": {
"hasNextPage": false,
"lastEndId": 51,
"list": [
{
"subUid": "7713789662",
"subName": "mySub01@bgbroker6314497154",
"status": "normal",
"auth": [
"readonly",
"spot_trade",
"contract_trade",
"transfer",
"withdraw",
"recharge"
],
"remark": "mySub01",
"cTime": "1653287983475"
}
]
}
}
Response Parameter
Parameter | Type | Description |
---|---|---|
subUid | String | Sub account UID |
subName | String | Sub account name |
status | String | Account Status |
auth | String Array | Permissions, separated by comma |
remark | String | Remark |
cTime | String | Created timestamp, milliseconds |
Modify Sub Account
Limit rule:1/sec/UID
HTTP Request
- POST /api/broker/v1/account/sub-modify
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
perm | String | Yes | Permissions, separated by comma |
status | String | Yes | Account Status |
Response
{
"code":"00000",
"msg":"success",
"data":{
"subUid":"293848922",
"subName":"subEmail@hyc.com",
"status":"normal",
"auth":["spot_trade","transfer"],
"remark":"mySub01",
"cTime":"1651130117853"
}
}
Response Parameter
Parameter | Type | Description |
---|---|---|
subUid | String | Sub account UID |
subName | String | Sub account name |
status | String | Account Status |
auth | String Array | Permissions |
remark | String | Remark |
cTime | String | Created timestamp, milliseconds |
Modify Sub Email
Limit rule:1/sec (ApiKey)
HTTP Request
- POST /api/broker/v1/account/sub-modify-email
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub account UID |
subEmail | String | Yes | sub account email |
Response
{
"code":"00000",
"msg":"success"
}
Response Parameter
Parameter | Description |
---|---|
code | response error code |
msg | result message |
GET Sub Email
Limit rule:1/sec (ApiKey)
HTTP Request
- GET /api/broker/v1/account/sub-email
Request Parameter(Request Parameter)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
Response
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": {
"subUid": 7713789662,
"subName": "demo@bitget.com",
"subEmail": "demo@bitget.com"
}
}
Response Parameter
Parameter | Description |
---|---|
subUid | Sub UID |
subName | Sub account name |
subEmail |
Get Sub Spot Assets
Limit rule:10/sec (uid)
HTTP Request
- GET /api/broker/v1/account/sub-spot-assets
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub uid |
Response
{
"code":"00000",
"message":"success",
"data":[
{
"coinId":"10012",
"coinName":"usdt",
"available":"0",
"frozen":"0",
"lock":"0",
"uTime":"1622697148"
}
]
}
Response Parameter
Parameter | Description |
---|---|
coinId | currency Id |
coinName | currency name |
available | available balance |
frozen | Frozen balance |
lock | lock balance |
uTime | update time, seconds |
Get Sub Future Assets
Limit rule:10/sec (uid)
HTTP Request
- GET /api/broker/v1/account/sub-future-assets
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
productType | String | Yes | Product type |
Response
{
"code":"00000",
"data":[
{
"marginCoin":"USDT",
"locked":"0.31876482",
"available":"10575.26735771",
"crossMaxAvailable":"10580.56434289",
"fixedMaxAvailable":"10580.56434289",
"maxTransferOut":"10572.92904289",
"equity":"10582.90265771",
"usdtEquity":"10582.902657719473",
"btcEquity":"0.204885807029"
}
],
"msg":"success",
"requestTime":1630901215622
}
Response Parameter
Parameter | Description |
---|---|
marginCoin | Margin currency |
locked | Locked amount (margin currency) |
available | Available balance |
crossMaxAvailable | The maximum available balance for the crossed Margin Mode (margin currency) |
fixedMaxAvailable | The maximum available balance for the fixed Margin Mode(margin currency) |
maxTransferOut | Maximum transferable |
equity | Account equity (margin currency) |
usdtEquity | Account equity in USDT |
btcEquity | Account equity in BTC |
Get Sub Deposit Address (Only Broker)
Limit rule:10/sec (uid)
HTTP Request
- POST /api/broker/v1/account/sub-address
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
coin | String | Yes | Currency name, 'BTC' |
chain | String | No | chain name |
Response:
{
"code": "00000",
"msg": "success",
"data": {
"subUid": "29390",
"address": "1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv",
"chain": "BTC-Bitcoin",
"coin": "BTC",
"tag": "",
"url": "https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv"
}
}
Response Parameter
Parameter | Description |
---|---|
subUid | Sub uid |
address | currency address |
chain | chain name |
coin | currency name |
tag | tag |
url | Blockchain browser address |
Sub Withdrawal (Only Broker)
Limit rule:1/sec (uid)
HTTP Request
- POST /api/broker/v1/account/sub-withdrawal
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
coin | String | Yes | currency name |
address | String | Yes | withdraw address |
chain | String | Yes | chain name |
tag | String | No | tag |
amount | String | Yes | Withdraw amount |
remark | String | No | remark |
clientOid | String | No | custom order ID |
Response:
{
"code": "00000",
"msg": "success",
"data": "234433328677111"
}
Sub Deposit Auto Transfer (Only Broker)
Limit rule:5/sec (uid)
HTTP Request
- POST /api/broker/v1/account/sub-auto-transfer
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
coin | String | Yes | currency name |
toAccountType | String | Yes | toAccountType |
Response:
{
"code": "00000",
"msg": "success",
"data": "234433328677111"
}
query sub account transfer record
Rate Limit times/sec (uid)
HTTP Request
- GET /api/broker/v1/subaccount-transfer
Request Example
curl "https://api.bitget.com/api/broker/v1/subaccount-transfer?orderId=123" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
Request Body
Parameter | Parameter type | Required | Description |
---|---|---|---|
orderId | String | yes |
Response
{
"code": "00000",
"msg": "success",
"requestTime": 1689833233282,
"data": {
"coin": "USDT",
"status": "Successful",
"toType": "spot",
"toSymbol": null,
"fromType": "usdt_m_futures",
"fromSymbol": null,
"amount": "10",
"transferTime": "1689833233282",
"orderId": "XXXXX",
"clientOid": "XXXXX",
"subUid": "123123",
"transferId": "XXXXX"
}
}
Response Parameter
Parameter | Description |
---|---|
coin | coin |
status | The processing status of the transfer process |
toType | Types of transfer-to-accounts |
toSymbol | Transfer-in transaction pair, returned when the transfer-in account is isolated_margin |
fromType | Type of transfer-out account |
fromSymbol | Transfer-out transaction pair, returned when the transfer-out account is isolated_margin |
amount | The amount of transfer currency |
transferTime | transfer time,ms |
orderId | orderId |
clientOid | Custom ID |
subUid | Sub-account ID |
transferId | transferId |
status
- Successful
- Failed
- Processing
toType/fromType
- spot
- p2p
- coin_m_futures
- usdt_m_futures
- usdc_m_futures
- cross_margin
- isolated_margin
query sub account deposit record
Rate Limit times/sec (uid)
HTTP Request
- GET /api/broker/v1/subaccount-deposit
Request Example
curl "https://api.bitget.com/api/broker/v1/subaccount-deposit?orderId=123" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
Request Body
Parameter | Parameter type | Required | Description |
---|---|---|---|
orderId | String | yes |
Response
{
"code": "00000",
"msg": "success",
"requestTime": 1689833233282,
"data": {
"orderId": "XXXXX",
"txId": "XXXXXXX",
"coin": "USDT",
"type": "deposit",
"dest": "internal_transfer",
"amount": "10",
"status": "success",
"fromAddress": "123123",
"toAddress": "456456",
"fee": "1",
"chain": "erc20",
"confirm": "3",
"tag": "xx",
"cTime": "1689833233282",
"uTime": "1689833233282"
}
}
Response Parameter
Parameter | Description |
---|---|
orderId | orderId |
txId | txId |
coin | coin |
type | type |
dest | Deposit type |
amount | Deposit amount |
status | The status of the deposit process |
fromAddress | Deposit initiator information. When recharging on the chain, this field is the initiator wallet address; when transferring internally, this field is UID |
toAddress | Deposit recipient information. When recharging on the chain, this field is the initiator wallet address; when transferring internally, this field is UID |
fee | The amount of the fee. The pricing unit is the recharge currency |
chain | Deposit network |
confirm | Confirm the number of blocks |
tag | tag |
cTime | creation time ms |
uTime | update time ms |
dest
- on_chain
- internal_transfer
status
- pending
- pending_review
- pending_fail
- pending_review_fail
- reject
- success
query sub account withdrawal record
Rate Limit times/sec (uid)
HTTP Request
- GET /api/broker/v1/subaccount-withdrawal
Request Example
curl "https://api.bitget.com/api/broker/v1/subaccount-withdrawal?orderId=123" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
Request Body
Parameter | Parameter type | Required | Description |
---|---|---|---|
orderId | String | yes |
Response
{
"code": "00000",
"msg": "success",
"requestTime": 1689833233282,
"data": {
"orderId": "XXXXX",
"txId": "XXXXXXX",
"coin": "USDT",
"type": "withdraw",
"dest": "internal_transfer",
"amount": "10",
"status": "success",
"fromAddress": "123123",
"toAddress": "456456",
"fee": "1",
"chain": "erc20",
"confirm": "3",
"tag": "xx",
"cTime": "1689833233282",
"uTime": "1689833233282"
}
}
Response Parameter
Parameter | Description |
---|---|
orderId | orderId |
txId | txId |
coin | coin |
type | type |
dest | Withdrawal type |
amount | Withdrawal amount |
status | The status of the withdrawal process |
fromAddress | When recharging on the chain, this field is the initiator wallet address; when transferring internally, this field is UID |
toAddress | Withdraw recipient information. When recharging on the chain, this field is the sender’s wallet address; when transferring internally, this field is the recipient’s account number, including one of the three formats of UID, mobile phone number and email |
fee | The amount of the fee. The pricing unit is the recharge currency |
chain | Withdraw network |
confirm | Confirm the number of blocks |
tag | tag |
cTime | creation time ms |
uTime | update time ms |
dest
- on_chain
- internal_transfer
status
- pending
- pending_review
- pending_fail
- pending_review_fail
- reject
- success
Sub API Interface
Create Sub ApiKey (Only Broker)
Limit rule:10/sec (uid)
HTTP Request
- POST /api/broker/v1/manage/sub-api-create
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
passphrase | String | Yes | Passphrase, length between 6 and 32 |
remark | String | Yes | remark, length < 20 |
ip | String | Yes | IP whitelist, separated by comma, max 30 IP entries |
perm | String | No | Permissions, separated by comma |
Response:
{
"code": "00000",
"msg": "success",
"data": [
{
"subUid": "58281113",
"label": "sub api",
"apiKey": "bg_djwwwls98a1s0dLK3deq2",
"secretKey": "Sjwwwls98a1s0dLK3deq2",
"perm": "read_only,contract_trade",
"ip": "127.127.127.127"
}
]
}
Response Parameter
Parameter | Description |
---|---|
subUid | Sub Uid |
label | remark |
apikey | apikey |
secretKey | secret key |
perm | Permissions, separated by comma |
ip | IP whitelist |
Get Sub ApiKey List
Limit rule:10/sec (uid)
HTTP Request
- GET /api/broker/v1/manage/sub-api-list
Request Parameter
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
Response:
{
"code": "00000",
"msg": "success",
"data": [
{
"subUid": "58281113",
"label": "sub api",
"apiKey": "bg_djwwwls98a1s0dLK3deq2",
"secretKey": "Sjwwwls98a1s0dLK3deq2",
"perm": "read_only,contract_trade",
"ip": "127.127.127.127"
}
]
}
Response Parameter
Parameter | Description |
---|---|
subUid | Sub Uid |
label | remark |
apikey | apikey |
secretKey | Secret key |
perm | Permissions, separated by comma |
ip | IP whitelist |
Modify Sub ApiKey (Only Broker)
Limit rule:10/sec (uid)
HTTP Request
- POST /api/broker/v1/manage/sub-api-modify
Request Parameter(Request Body)
Parameter | Type | Required | Description |
---|---|---|---|
subUid | String | Yes | Sub Uid |
apikey | String | Yes | sub apikey |
remark | String | No | remark, length < 20 |
ip | String | No | IP whitelist (override), separated by comma, max 30 IP entries |
perm | String | No | Permissions, separated by comma (override) |
Response:
{
"code": "00000",
"msg": "success",
"data": {
"subUid": "58281113",
"label": "sub api",
"apiKey": "bg_djwwwls98a1s0dLK3deq2",
"perm": "read_only,contract_trade",
"ip": "127.127.127.127"
}
}
Response Parameter
Parameter | Description |
---|---|
subUid | Sub Uid |
label | apikey remark |
apikey | apikey |
perm | Permissions, separated by comma |
ip | IP whitelist |
Error Codes
Error message | Error code | http status code |
---|---|---|
00000 | success! | 400 |
40001 | ACCESS_KEY cannot be empty | 400 |
40002 | ACCESS_SIGN cannot be empty | 400 |
40003 | Signature cannot be empty | 400 |
40004 | Request timestamp expired | 400 |
40005 | Invalid ACCESS_TIMESTAMP | 400 |
40006 | Invalid ACCESS_KEY | 400 |
40007 | Invalid Content_Type | 400 |
40008 | Request timestamp expired | 400 |
40009 | sign signature error | 400 |
40010 | Request timed out | 400 |
40011 | ACCESS_PASSPHRASE cannot be empty | 400 |
40012 | apikey/password is incorrect | 400 |
40013 | User status is abnormal | 400 |
40014 | Incorrect permissions, need {0} permissions | 400 |
40015 | System is abnormal, please try again later | 400 |
40016 | The user must bind the phone or Google | 400 |
40017 | Parameter verification failed {0} | 400 |
00171 | Parameter verification failed {0}{1} | 400 |
00172 | Parameter verification failed | 400 |
40018 | Invalid IP | 400 |
40019 | Parameter {0} cannot be empty | 400 |
40020 | Parameter {0} error | 400 |
40021 | User disable withdraw | 400 |
40022 | The business of this account has been restricted | 400 |
40023 | The business of this account has been restricted | 400 |
40024 | Account has been frozen | 400 |
40025 | The business of this account has been restricted | 400 |
40026 | User is disabled | 400 |
40027 | Withdrawals in this account area must be kyc | 400 |
40028 | This subUid does not belong to this account | 400 |
40029 | This account is not a Broker, please apply to become a Broker first | 400 |
40031 | The account has been cancelled and cannot be used again | 400 |
40032 | The Max of sub-account created has reached the limit | 400 |
40033 | This email has been bound | 400 |
40034 | Parameter {0} does not exist | 400 |
50001 | coin {0} does not support cross | 400 |
50002 | symbol {0} does not support isolated | 400 |
50003 | coin {0} does not support isolated | 400 |
50004 | symbol {0} does not support cross | 400 |
40035 | Judging from your login information, you are required to complete KYC first for compliance reasons. | 400 |
40036 | passphrase is error | 400 |
40037 | Apikey does not exist | 400 |
40038 | The current ip is not in the apikey ip whitelist | 400 |
40039 | FD Broker's user signature error | 400 |
40040 | user api key permission setting error | 400 |
40041 | User's ApiKey does not exist | 400 |
40043 | FD Broker does not exist | 400 |
40045 | The bound user cannot be an FD broker | 400 |
40047 | FD Broker binding related interface call frequency limit | 400 |
40048 | The user's ApiKey must be the parent account | 400 |
40049 | User related fields decrypt error | 400 |
40051 | This account is not a FD Broker, please apply to become a FD Broker first | 400 |
40052 | Security settings have been modified for this account. For the safety of your account, withdrawals are prohibited within 24 hours | 400 |
40053 | Value range verification failed: {0} should be between {1} | 400 |
40054 | The data fetched by {0} is empty | 400 |
40055 | subName must be an English letter with a length of 8 | 400 |
40056 | remark must be length of 1 ~ 20 | 400 |
40057 | Parameter {0} {1} does not meet specification | 400 |
40058 | Parameter {0} Only a maximum of {1} is allowed | 400 |
40059 | Parameter {0} should be less than {1} | 400 |
40060 | subNames already exists | 400 |
40061 | sub-account not allow access | 400 |
40063 | API exceeds the maximum limit added | 400 |
40064 | Sub-account creation failed, please check if there is a duplicate | 400 |
40065 | This subApikey does not exist | 400 |
40066 | This subUid does not belong to the account or is not a virtual sub-account | 400 |
40067 | sub-account create failed, please check if there is a duplicate | 400 |
40068 | Disable subaccount access | 400 |
40069 | The maximum number of sub-accounts created has been reached | 400 |
40070 | passphrase 8-32 characters with letters and numbers | 400 |
40071 | subName exist duplication | 400 |
40072 | symbol {0} is Invalid or not supported mix contract trade | 400 |
40102 | Symbol does not exist | 400 |
40109 | The data of the order cannot be found, please confirm the order number | 400 |
40200 | Server upgrade, please try again later | 400 |
40301 | Permission has not been obtained yet. If you need to use it, please contact customer service | 400 |
40303 | Can only query up to 20,000 data | 400 |
40304 | clientOid or clientOrderId length cannot greater than 50 | 400 |
40305 | clientOid or clientOrderId length cannot greater than 64, and cannot be Martian characters | 400 |
40306 | Batch processing orders can only process up to 20 | 400 |
40308 | The contract is being temporarily maintained | 400 |
40309 | The contract has been removed | 400 |
40400 | Status check abnormal | 400 |
40401 | The operation cannot be performed | 400 |
40402 | orderId or clientOId format error | 400 |
40407 | The query direction is not the direction entrusted by the plan | 400 |
40408 | Range error | 400 |
40409 | wrong format | 400 |
40704 | Can only check the data of the last three months | 400 |
40705 | The start and end time cannot exceed 90 days | 400 |
40706 | Wrong order price | 400 |
40707 | Start time is greater than end time | 400 |
40708 | client_oid duplicate | 400 |
40709 | There is no position in this position, and no automatic margin call can be set | 400 |
40710 | Abnormal account status | 400 |
40711 | Insufficient contract account balance | 400 |
40712 | Insufficient margin | 400 |
40713 | Cannot exceed the maximum transferable margin amount | 400 |
40714 | No direct margin call is allowed | 400 |
40715 | delegate count can not high max of open count | 400 |
40716 | This trading pair not support Cross Margin mode | 400 |
40717 | The number of closed positions cannot exceed the number of sheets held | 400 |
40718 | The entrusted price of Pingduo shall not be lower than the bursting price | 400 |
40719 | Flat empty entrustment price is not allowed to be higher than explosion price | 400 |
40720 | swap hand depth does not exist | 400 |
40721 | Market price list is not allowed at present | 400 |
40722 | Due to excessive price fluctuations and the insufficient market price entrusted cost, the opening commission is failed. | 400 |
40723 | The total number of unexecuted orders is too high | 400 |
40724 | Parameter is empty | 400 |
40725 | service return an error | 400 |
40726 | Cross margin not support Auto Margin Replenishment (AMR) | 400 |
40727 | Cross margin not support margin adjustment | 400 |
40728 | You’re log in as trader, please close position for current copy trade orders | 400 |
40729 | Failed to adjust the position, the current position or order or plan order | 400 |
40730 | There is currently a commission or a planned commission, and the leverage cannot be adjusted | 400 |
40731 | This product does not support copy trading | 400 |
40732 | Not currently a trader | 400 |
40199 | Traders are prohibited from calling the API | 400 |
40733 | The order closing has been processed | 400 |
40734 | Failed to place an order, the minimum number of traders to open a position {0} | 400 |
40735 | Long position take profit price should be greater than the average opening price | 400 |
40736 | Long position take profit price is greater than the current price | 400 |
40737 | The short position take profit price should be less than the average opening price | 400 |
40738 | The short position take profit price should be less than the current price | 400 |
40739 | The stop loss price of a long position should be less than the average opening price | 400 |
40740 | The stop loss price of a long position should be less than the current price | 400 |
40741 | The stop loss price of a short position should be greater than the average opening price | 400 |
40742 | The stop loss price of the short position should be greater than the current price | 400 |
40743 | The order is being closed and cannot be closed again | 400 |
40744 | The tracking order status is wrong | 400 |
40745 | This order is being commissioned, and liquidation is not supported temporarily | 400 |
40746 | The current maximum number of positions that can be closed is {0}, if you exceed the number, please go to the current order to close the position | 400 |
40747 | The bonus is not allowed to hold two-way positions | 400 |
40748 | The commission price is higher than the highest bid price | 400 |
40749 | The commission price is lower than the lowest selling price | 400 |
40750 | The plan commission for this contract has reached the upper limit | 400 |
40751 | The contract's stop profit and stop loss order has reached the upper limit | 400 |
40752 | You are disabled for current business, if you have any questions, please contact customer service | 400 |
40753 | The contract transaction business is disabled, if you have any questions, please contact customer service | 400 |
40754 | balance not enough | 400 |
40755 | Not enough open positions are available. | 400 |
40756 | The balance lock is insufficient. | 400 |
40757 | Not enough position is available. | 400 |
40758 | The position lock is insufficient. | 400 |
40759 | No assets | 400 |
40760 | Account abnormal status | 400 |
40761 | The total number of unfilled orders is too high | 400 |
40762 | The order size is greater than the max open size | 400 |
40763 | The number of orders cannot exceed the maximum amount of the corresponding gear | 400 |
40764 | The remaining amount of the order is less than the current transaction volume | 400 |
40765 | The remaining volume of the position is less than the current transaction volume | 400 |
40766 | The number of open orders is less than this transaction volume | 400 |
40767 | Position does not exist when opening a position | 400 |
40768 | Order does not exist | 400 |
40769 | Reject order has been completed | 400 |
40770 | The settlement or fee currency configuration was not found. | 400 |
40771 | When there is a gap, you cannot have a position closing order. | 400 |
40772 | The account does not exist | 400 |
40773 | Closed positions can only occur in two-way positions. | 400 |
40774 | The order type for unilateral position must also be the unilateral position type. | 400 |
40775 | The market-making account can only be a unilateral position type. | 400 |
40776 | Error creating order. | 400 |
40777 | Cancel order error. | 400 |
40778 | Coin pair {0} does not support {1} currency as margin | 400 |
40779 | Please check that the correct delegateType is used | 400 |
40780 | There are multiple risk handling records for the same symbolId at the same time | 400 |
40781 | The transfer order was not found | 400 |
40782 | Internal transfer error | 400 |
40783 | No gear found | 400 |
40784 | Need to configure modify depth account | 400 |
40785 | Need to configure draw line account | 400 |
40786 | Duplicate clientOid | 400 |
40787 | The price step does not match | 400 |
40788 | Internal batch transfer error | 400 |
40789 | The tokenId is duplicated in the configuration item | 400 |
40790 | Duplicate symbolCode in configuration item | 400 |
40791 | The baseToken or quoteToken of symbolCode does not exist | 400 |
40792 | The symbol in the configuration item is duplicated | 400 |
40793 | The symbolCode of BusinessSymbol does not exist | 400 |
40794 | The supportMarginToken of BusinessSymbol is not configured | 400 |
40795 | The transaction is suspended due to settlement or maintenance reasons | 400 |
40796 | The adjusted leverage is not within the appropriate range | 400 |
40797 | Exceeded the maximum settable leverage | 400 |
40798 | Insufficient contract account balance | 400 |
40799 | Cannot be less than the minimum transfer amount | 400 |
40800 | Insufficient amount of margin | 400 |
40801 | Cannot exceed the maximum transferable deposit amount | 400 |
40802 | Position is zero and direct margin call is not allowed | 400 |
40803 | The leverage is reduced and the amount of margin call is incorrect | 400 |
40804 | The number of closed positions cannot exceed the number of positions held | 400 |
40805 | Unsupported operation | 400 |
40806 | Unsupported currency | 400 |
40807 | The account does not exist | 400 |
40808 | Parameter verification exception {0} | 400 |
40809 | Execution price parameter verification exception | 400 |
40810 | Triggered price parameter verification exception | 400 |
40811 | The parameter {0} should not be null | 400 |
40812 | The condition {0} is not met | 400 |
40813 | The parameter {0} must have a value and cannot be empty | 400 |
40814 | No change in leverage | 400 |
40815 | The order price is higher than the highest bid price | 400 |
40816 | The order price is lower than the lowest selling price | 400 |
40817 | The current order status cannot be cancelled | 400 |
40818 | The current order type cannot be cancelled | 400 |
40819 | The order does not exist! | 400 |
40820 | The order price for closing a long position is not allowed to be lower than the liquidation price | 400 |
40821 | The closing order price cannot be higher than the liquidation price | 400 |
40822 | The contract configuration does not exist | 400 |
40823 | The transaction or reasonable marked price does not exist | 400 |
40824 | Currently, it is not allowed to list market orders | 400 |
40825 | Contract opponent depth does not exist | 400 |
40826 | Due to excessive price fluctuations, the market order cost is insufficient, and the position opening order failed. | 400 |
40827 | The bonus is not allowed to hold two-way positions | 400 |
40828 | Special market making accounts cannot manually place orders | 400 |
40829 | The take profit price of a long position should be greater than the average open price | 400 |
40830 | The take profit price of the long position should be greater than the current price | 400 |
40831 | The short position take profit price should be less than the average open price | 400 |
40832 | The take profit price of short positions should be less than the current price | 400 |
40833 | The stop loss price of a long position should be less than the average opening price | 400 |
40834 | The stop loss price of the long position should be less than the current price | 400 |
40835 | The stop loss price of the short position should be greater than the average opening price | 400 |
40836 | The stop loss price of the short position should be greater than the current price | 400 |
40837 | There is no position in this position, so stop-profit and stop-loss orders cannot be made | 400 |
40838 | There is no position in this position, and automatic margin call cannot be set | 400 |
40839 | The automatic margin call function of this contract has been suspended | 400 |
40840 | Duplicate shard market making account | 400 |
40841 | Online environment does not allow execution | 400 |
40842 | Current configuration does not allow adjustment, please try again later | 400 |
40843 | no_datasource_key_exists | 400 |
40844 | This contract is under temporary maintenance | 400 |
40845 | This contract has been removed | 400 |
40846 | Status verification abnormal | 400 |
40847 | The operation cannot be performed | 400 |
40848 | Cannot open a copy transaction if there is a position | 400 |
40849 | This user already has an ongoing copy | 400 |
40850 | The copy is in progress, the balance cannot be transferred | 400 |
40851 | Account status is wrong, cannot end copying | 400 |
40852 | There are unfilled orders, cannot end the copy | 400 |
40853 | There is an unexecuted plan order, cannot end the copy | 400 |
40854 | This product does not support copy trading | 400 |
40855 | The user has ended copying and cannot end copying again | 400 |
40856 | Data abnormal | 400 |
40857 | Document number error | 400 |
40858 | Error tracking order status | 400 |
40859 | This order is being closed and cannot be closed again | 400 |
40860 | The trader does not exist and cannot be set to follow | 400 |
40861 | The trader has been disabled and cannot be set to follow | 400 |
40862 | Please cancel the current order | 400 |
40863 | Please cancel the current plan | 400 |
40864 | Please close the current position with orders | 400 |
40865 | This order is being commissioned, and it is not currently supported to close the position | 400 |
40866 | You are currently a trader, please close the position under the current order | 400 |
40867 | Currently the maximum number of positions that can be closed is {0}, please go to the current order to close the position if the amount exceeds | 400 |
40868 | You are currently a trader and currently do not support liquidation through planned orders | 400 |
40869 | You are currently a trader and currently do not support modification of leverage | 400 |
40870 | You are currently copying an order and currently do not support modifying the leverage | 400 |
40871 | The leverage does not meet the configuration, and you cannot become a trader | 400 |
40872 | Failed to adjust position, currently holding position or order or plan order | 400 |
40873 | The account has a margin and needs to be transferred out | 400 |
40874 | Whole position mode does not support automatic margin call | 400 |
40875 | Whole position mode does not support margin adjustment | 400 |
40876 | Too many tracking orders | 400 |
40877 | Too many follow-up orders | 400 |
40878 | The contract index data is abnormal. In order to avoid causing your loss, please try again later. | 400 |
40879 | The risk is being processed, and the funds cannot be adjusted. | 400 |
40880 | The risk is being processed and the leverage cannot be adjusted. | 400 |
40881 | There is currently an order, or an order is planned, and the leverage cannot be adjusted. | 400 |
40882 | You are currently a trader and you cannot switch to the full position mode | 400 |
40883 | When the currencies are mixed, it cannot be adjusted to the warehouse-by-warehouse mode | 400 |
40884 | When a one-way position is held, it cannot be adjusted to a position-by-position mode | 400 |
40885 | In the case of position by position mode, it cannot be adjusted to one-way position | 400 |
40886 | The automatic margin call cannot be adjusted in the full position mode | 400 |
40887 | Failed to place the order, the number of single lightning open positions is at most {0} | 400 |
40888 | Failed to place the order, the maximum amount of single lightning closing is {0} | 400 |
40889 | The plan order of this contract has reached the upper limit | 400 |
40890 | The order of stop-profit and stop-loss for this contract has reached the upper limit | 400 |
40891 | Insufficient position, can not set take profit or stop loss | 400 |
40892 | Failed to place the order, the minimum number of positions opened by the trader is {0} | 400 |
40893 | Unable to update the leverage factor of this position, there is not enough margin! | 400 |
40894 | The documentary closing has been processed | 400 |
40895 | The preset price does not match the order/execution price | 400 |
40896 | The default stop profit and stop loss has been partially fulfilled and cannot be modified | 400 |
40897 | The system experience gold account does not exist | 400 |
40898 | The system experience gold account balance is insufficient | 400 |
40899 | The number of stored users exceeds the limit | 400 |
40900 | The system experience gold account is inconsistent | 400 |
40901 | The contract experience fund balance is insufficient | 400 |
40902 | Future time is not allowed | 400 |
40903 | Failed to obtain leverage information | 400 |
40904 | Failed to collect funds | 400 |
40905 | Failed to collect user funds | 400 |
40906 | Failed to pay user funds | 400 |
40907 | The payment cannot be transferred | 400 |
40908 | Concurrent operation failed | 400 |
40909 | Transfer processing | 400 |
40910 | Operation timed out | 400 |
40911 | Request timestamp expired | 400 |
40912 | single cancel cannot exceed 50 | 400 |
40913 | {0} must be passed one | 400 |
40914 | Trader the maximum leverage can use is {0} | 400 |
40915 | Long position take profit price please > mark price | 400 |
40916 | The business of this account has been restricted | 400 |
40917 | Stop price for long positions please < mark price {0} | 400 |
40918 | Traders open positions with orders too frequently | 400 |
40919 | This function is not open yet | 400 |
40920 | Position or order exists, the position mode cannot be switched | 400 |
40921 | The order size cannot exceed the maximum size of the positionLevel | 400 |
40922 | Only work order modifications are allowed | 400 |
40923 | Order size and price have not changed | 400 |
40924 | orderId and clientOid must have one | 400 |
40925 | price or size must be passed in together | 400 |
43013 | Take profit price needs> current price | 400 |
43014 | Take profit price needs to be <current price | 400 |
43015 | Stop loss price needs to be <current price | 400 |
43016 | Stop loss price needs to be> current price | 400 |
43017 | You are currently a trader and currently do not support liquidation through planned orders | 400 |
43020 | Stop profit and stop loss order does not exist | 400 |
43021 | The stop-profit and stop-loss order has been closed | 400 |
43022 | Failed to trigger the default stop loss | 400 |
43023 | Insufficient position, can not set profit or stop loss | 400 |
43024 | Take profit/stop loss in an existing order, please change it after canceling all | 400 |
43025 | Plan order does not exist | 400 |
43026 | The planned order has been closed | 400 |
43027 | The minimum order value {0} is not met | 400 |
43028 | Please enter an integer multiple of {0} for price | 400 |
43029 | The size of the current Order > the maximum number of positions that can be closed | 400 |
43030 | Take profit order already existed | 400 |
43031 | Stop loss order already existed | 400 |
43032 | rangeRate is smaller than {0} | 400 |
43033 | Trailing order does not exist | 400 |
43034 | The trigger price should be ≤ the current market price | 400 |
43035 | The trigger price should be ≥ the current market price | 400 |
43036 | Trader modify tpsl can only be operated once within 300ms | 400 |
43037 | The minimum order amount allowed for trading is {0} | 400 |
43038 | The maximum order amount allowed for trading is {0} | 400 |
43039 | Maximum price limit exceeded {0} | 400 |
43040 | Minimum price limit exceeded {0} | 400 |
43041 | Maximum transaction amount {0} | 400 |
43042 | Minimum transaction amount {0} | 400 |
43043 | There is no position | 400 |
43044 | The follow order status error | 400 |
43045 | The trader is ful | 400 |
43046 | User does not exist | 400 |
43047 | Followers are not allowed to follow again within xx minutes after being removed, please try again later! | 400 |
43048 | The symbol is null | 400 |
43049 | Margin coin is not allowed | 400 |
43050 | Leverage exceeds the effective range | 400 |
43051 | Maximum limit exceeded | 400 |
43052 | Follow order count can not less than {0} | 400 |
43053 | The copy ratio cannot exceed {0} | 400 |
43054 | The copy ratio cannot be less than {0} | 400 |
43055 | The take loss ratio must be between {0}-{1} | 400 |
43056 | The take profit ratio must be between {0}-{1} | 400 |
43057 | It is not allowed to bring orders or copy orders between sub-accounts | 400 |
43058 | Parameter verification failed | 400 |
43059 | Request failed, please try again | 400 |
43060 | Sort rule must send | 400 |
43061 | Sort Flag must send | 400 |
43062 | not to follow | 400 |
43063 | Can not follow trade with yourself | 400 |
43064 | Tracking order status error | 400 |
43065 | Tracking No does not exist | 400 |
43066 | operation failed | 400 |
43067 | The loaded data has reached the upper limit, and the maximum support for loading {0} data | 400 |
43068 | The status of the current follower is abnormal and removal is not allowed for now | 400 |
43069 | A follower account can only be removed when its equity is lower than {0} USDT | 400 |
43001 | The order does not exist | 400 |
43002 | Pending order failed | 400 |
43003 | Pending order failed | 400 |
43004 | There is no order to cancel | 400 |
43005 | Exceed the maximum number of orders | 400 |
43006 | The order quantity is less than the minimum transaction quantity | 400 |
43007 | The order quantity is greater than the maximum transaction quantity | 400 |
43008 | The current order price cannot be less than {0}{1} | 400 |
43009 | The current order price exceeds the limit {0}{1} | 400 |
43010 | The transaction amount cannot be less than {0}{1} | 400 |
43011 | The parameter does not meet the specification {0} | 400 |
43012 | Insufficient balance | 400 |
41103 | param {0} error | 400 |
41101 | param {0} error | 400 |
41113 | symbol is offline | 400 |
41114 | The current trading pair is under maintenance, please refer to the official announcement for the opening time | 400 |
42013 | transfer fail | 400 |
42014 | The current currency does not support deposit | 400 |
42015 | The current currency does not support withdrawal | 400 |
42016 | symbol {0} is Invalid or not supported spot trade | 400 |
41100 | error {0} | 400 |
43111 | param error {0} | 400 |
43112 | The amount of coins withdrawn is less than the handling fee {0} | 400 |
43113 | The daily limit {0} is exceeded in a single transaction | 400 |
43114 | Withdrawal is less than the minimum withdrawal count {0} | 400 |
43115 | The current trading pair is opening soon, please refer to the official announcement for the opening time | 400 |
43116 | This chain requires a tag to withdraw coins | 400 |
43117 | Exceeds the maximum amount that can be transferred | 400 |
43118 | clientOrderId duplicate | 400 |
43119 | Trading is not open | 400 |
43120 | symbol is not open trade | 400 |
43121 | Withdrawal address cannot be your own | 400 |
43122 | The purchase limit of this currency is {0}, and there is still {1} left | 400 |
43123 | param error {0} | 400 |
43124 | withdraw step is error | 400 |
43125 | No more than 8 decimal places | 400 |
43126 | This currency does not support withdrawals | 400 |
43127 | Sub transfer not by main account, or main/sub relationship error | 400 |
43128 | Exceeded the limit of the maximum number of orders for the total transaction pair {0} | 400 |
45034 | clientOid duplicate | 400 |
47001 | Currency recharge is not enabled | 400 |
47002 | Address verification failed | 400 |
45001 | Unknown error | 400 |
45002 | Insufficient asset | 400 |
45003 | Insufficient position | 400 |
45004 | Insufficient lock-in asset | 400 |
45005 | Insufficient available positions | 400 |
45006 | Insufficient position | 400 |
45007 | Insufficient lock position | 400 |
45008 | No assets | 400 |
45009 | The account is at risk and cannot perform trades temporarily | 400 |
45010 | The number of orders cannot exceed the maximum amount of the corresponding leverage | 400 |
45011 | Order remaining volume < Current transaction volume | 400 |
45012 | Remaining volume of position < Volume of current transaction | 400 |
45013 | The number of open orders < Current transaction volume | 400 |
45014 | Position does not exist during opening | 400 |
45017 | Settlement or the coin for transaction configuration not found | 400 |
45018 | In the case of a netting, you cannot have a liquidation order | 400 |
45019 | Account does not exist | 400 |
45020 | Liquidation can only occur under two-way positions | 400 |
45021 | When one-way position is held, the order type must also be one-way position type | 400 |
45023 | Error creating order | 400 |
45024 | Cancel order error | 400 |
45025 | The currency pair does not support the currency as a margin | 400 |
45026 | Please check that the correct delegateType is used | 400 |
45031 | The order is finalized | 400 |
45035 | Price step mismatch | 400 |
45043 | Due to settlement or maintenance reasons, the trade is suspended | 400 |
45044 | Leverage is not within the suitable range after adjustment | 400 |
45045 | Exceeds the maximum possible leverage | 400 |
45047 | Reduce the leverage and the amount of additional margin is incorrect | 400 |
45051 | Execution price parameter verification is abnormal | 400 |
45052 | Trigger price parameter verification anbormal | 400 |
45054 | No change in leverage | 400 |
45055 | The current order status cannot be cancelled | 400 |
45056 | The current order type cannot be cancelled | 400 |
45057 | The order does not exist! | 400 |
45060 | TP price of long position > Current price {0} | 400 |
45061 | TP price of short position < Current price {0} | 400 |
45062 | SL price of long position < Current price {0} | 400 |
45064 | TP price of long position > order price {0} | 400 |
45065 | TP price of short position < order price {0} | 400 |
45066 | SL price of long position < order price {0} | 400 |
45067 | SL price of short position > order price {0} | 400 |
45068 | There is no position temporarily, and the order of TP and SL cannot be carried out | 400 |
45075 | The user already has an ongoing copy trade | 400 |
45082 | Copy trade number error | 400 |
45089 | You are currently copy trading, leverage cannot be changed | 400 |
45091 | Too many tracking orders | 400 |
45097 | There is currently an order or a limit order, and the leverage cannot be adjusted | 400 |
45098 | You are currently a trader and cannot be switched to the full position mode | 400 |
45099 | When there are different coins, it cannot be adjusted to Isolated Margin mode | 400 |
45100 | When a one-way position is held, it cannot be adjusted to the Isolated Margin mode | 400 |
45101 | In Isolated Margin mode, it cannot be adjusted to a one-way position | 400 |
45102 | In the full position mode, the automatic margin call cannot be adjusted | 400 |
45103 | Failed to place the order, the maximum amount of single flash opening position is %s | 400 |
45104 | Failed to place the order, the maximum amount of single flash closing position is %s | 400 |
45106 | copy trade liquidation has been processed | 400 |
45107 | API is restricted to open positions. If you have any questions, please contact our customer service | 400 |
45108 | API is restricted to close position. If you have any questions, please contact our customer service | 400 |
45109 | The current account is a two-way position | 400 |
45110 | less than the minimum amount {0} USDT | 400 |
45111 | less than the minimum order quantity | 400 |
45112 | more than the maximum order quantity | 400 |
45113 | Maximum order value limit triggered | 400 |
45114 | The minimum order requirement is not met | 400 |
45115 | The price you enter should be a multiple of {0} | 400 |
45116 | The count of positions hold by the account exceeds the maximum count {0} | 400 |
45117 | Currently holding positions or orders, the margin mode cannot be adjusted | 400 |
45118 | Reached the upper limit of the order of transactions (the current number of order + the current number of orders) {0} | 400 |
45119 | This symbol does not support position opening operation | 400 |
45120 | size > max can open order size | 400 |
45121 | The reasonable mark price deviates too much from the market, and your current leveraged position opening risk is high | 400 |
45122 | Short position stop loss price please > mark price {0} | 400 |
45123 | Insufficient availability, currently only market orders can be placed | 400 |
45124 | Please edit and submit again. | 400 |
45125 | Order cancellation is unavailable for inactive orders. Please cancel parent order and place a new order. | 400 |
45126 | Order cancellation is unavailable for inactive orders. Please cancel parent order and place a new order. | 400 |
45127 | Position brackets disabled TP SL | 400 |
45128 | Position brackets disabled modify qty | 400 |
45129 | Cancel order is too frequent, the same orderId is only allowed to be canceled once in a second | 400 |
49000 | apiKey and userId mismatch | 400 |
49001 | not custody account, operation deny | 400 |
49002 | missing http header: ACCESS-BROKER-KEY or ACCESS-BROKER-SIGN | 400 |
49003 | illegal IP, access deny | 400 |
49004 | illegal ACCESS-BROKER-KEY | 400 |
49005 | access deny: sub account | 400 |
49006 | ACCESS-BROKER-SIGN check sign fail | 400 |
49007 | account is unbound | 400 |
49008 | account is bound | 400 |
49009 | clientUserId check mismatch with the bound user ID | 400 |
49010 | account: {0} still have assets: {1} | 400 |
49011 | kyc must be done before bind | 400 |
49020 | unsupported coin | 400 |
49021 | operation accepted | 400 |
49022 | access deny | 400 |
49023 | insufficient fund | 400 |
49024 | {0} decimal precision error | 400 |
49025 | Parameter mismatch with the initial requestId, request body: {0} | 400 |
49026 | {0} maximum {1} digits | 400 |
49030 | custody account, operation deny | 400 |
49040 | Unknown Error | 400 |
60001 | StartTime not empty | 400 |
60002 | MerchantId not empty | 400 |
60003 | Not found the p2p order | 400 |
60004 | Not found the p2p advertisement | 400 |
60005 | Not found the p2p merchant | 400 |
70001 | Activity ID not correct | 400 |
70002 | rankType error | 400 |
40000 | Bitget is providing services to many countries and regions around the world and strictly adheres to the rules and regulatory requirements of each country and region. According to the relevant regulations, Bitget is currently unable to provide services to your region (Mainland China) and you do not have access to open positions.Apologies for any inconvenience caused! | 400 |
48001 | Parameter validation failed {0} | 400 |
48002 | Missing request Parameter | 400 |
46013 | This symbol limits the selling amount{0},Remaining{0} | 400 |
40404 | Request URL NOT FOUND | 400 |
50010 | Unknown error | 400 |
50012 | The account has been suspended or deleted. Please contact our Customer Support | 400 |
50013 | The account has been suspended and deleted. Please contact our Customer Support | 400 |
50019 | The user is forbidden to trade. | 400 |
50059 | This currency cannot be transferred | 400 |
50052 | The asset balance will be less than 0 after transferring | 400 |
50048 | The maximum number of orders is exceeded | 400 |
50046 | The price is too low | 400 |
50047 | The price is too high | 400 |
50026 | The trading pair is currently unavailable | 400 |
50025 | The trading pair is currently unavailable | 400 |
50016 | The number of open orders is smaller than the minimum limit of the trading pair | 400 |
50017 | The number of open orders is bigger than the maximum limit of the trading pair | 400 |
50023 | The account has been suspended due to abnormal behavior. Please contact our Customer Support is you have any questions. | 400 |
50031 | System error | 400 |
50044 | The system account is not found | 400 |
50049 | The request body of the system user is empty | 400 |
50050 | The system loan collection has been done | 400 |
50027 | The trading pair is suspended for maintenance | 400 |
50030 | The trading pair will soon be available | 400 |
50029 | The trading pair has no order price | 400 |
50028 | The trading pair is removed | 400 |
50040 | The repayment amount must be more than 0 | 400 |
50042 | The repayment amount must be more than the interest | 400 |
50041 | The repayment amount must be less than your available balance | 400 |
50051 | The user in reconciliation is not in the system (cache) | 400 |
50024 | The trading pair does not exist | 400 |
50011 | Parameter verification error | 400 |
50053 | The amount is less than 0 when making loan repayment | 400 |
50056 | The amount is less than 0 when paying liquidation fees | 400 |
50054 | The amount is less than 0 when making interest repayment | 400 |
50055 | The amount is less than 0 when paying trading fees | 400 |
50033 | The topic of the websocket query does not exist | 400 |
50057 | The amount is less than 0 when paying the excessive loss resulted from liquidation | 400 |
50032 | The currency does not exist | 400 |
50036 | The loan configuration does not exist | 400 |
50037 | This currency cannot be borrowed | 400 |
50038 | The system limit is exceeded | 400 |
50034 | The borrowing amount must be over 0.00000001 | 400 |
50035 | The maximum borrowing amount is exceeded | 400 |
50020 | Insufficient balance | 400 |
50045 | Insufficient locked asset | 400 |
50015 | Currently, sub-accounts cannot engage in margin trading | 400 |
50021 | The margin trading account does not exist | 400 |
50022 | The account is liquidated | 400 |
50014 | The account already exists | 400 |
50060 | Duplicated clientOid | 400 |
50058 | After the profit is used to cover the excessive loss resulted from liquidation, the balance will be less than 0 | 400 |
50039 | The currency and the trading pair do not match | 400 |
50018 | The price must be 0 or higher | 400 |
50043 | Unknown transaction type | 400 |
50061 | There is a problem with the parameter you requested | 400 |
50062 | The order status is cancelled or fullFill | 400 |
50063 | Token precision must less than or equal to eight | 400 |
50064 | Your account is temporarily frozen. Please contact customer support if you have any questions | 400 |
50065 | symbol_off_shelf | 400 |
50066 | Position closing, please try again later | 400 |
31001 | The user is not a trader | 400 |
31002 | Condition {0} is not satisfied | 400 |
31003 | Parameter {0} must have a value, cannot be empty | 400 |
31004 | Take profit price must be > current price | 400 |
31005 | Stop loss price must be < current price | 400 |
31006 | The order is in the process of being placed, closing of the position is not supported at the moment | 400 |
31007 | Order does not exist | 400 |
31008 | There is no position in this position, no take profit or stop loss order can be made | 400 |
31009 | Tracking order status error | 400 |
31010 | Clear user prompt | 400 |
31011 | The order is not completely filled and the order is closed prompting the cancellation of the commission | 400 |
31012 | Pullback greater than {0} | 400 |
31013 | Pullback range is less than {0} | 400 |
31014 | Stop gain yield greater than {0} | 400 |
31015 | Stop loss yield less than {0} | 400 |
31016 | Batch execution exception | 400 |
31017 | Maximum price limit exceeded {0} | 400 |
31018 | Minimum price change of {0} | 400 |
31019 | Support trading currency pair does not exist | 400 |
31020 | Business is restricted | 400 |
31021 | The currency pair is not available for trading, please select another currency pair | 400 |
31022 | Minimum order size for this trading area is not met, please select another trading area | 400 |
31023 | Ending order processing | 400 |
31024 | The order is not completely filled, please go to \"Spot trading\"-\"Current orders\" to cancel the order and then sell or close the operation! | 400 |
31025 | The user is not a trader | 400 |
31026 | The user is not exist | 400 |
31027 | Operation failed, please try again | 400 |
31028 | Parameter verification failed | 400 |
31029 | User is not existed | 400 |
31030 | Chosen trading pair is empty | 400 |
31031 | You’re log in as trader,can not follow trade | 400 |
31032 | Can not follow trade with yourself | 400 |
31033 | Fail to remove | 400 |
31034 | This trader’s no. of follower has reached limit, please select other trader | 400 |
31035 | Follow order ratio can not less than{0} | 400 |
31036 | Follow order ratio can not greater than{0} | 400 |
31037 | Follow order count can not less than{0} | 400 |
31038 | Exceeds max. limit | 400 |
31039 | Can not set reminder as your Elite Trader status has been revoked | 400 |
31040 | T/P ratio must between {0}%%-{1}%% | 400 |
31041 | S/L ratio must between {0}%%-{1}%% | 400 |
31042 | The status of your Elite Trader has been suspended, please contact online customer service to resume. | 400 |
31043 | Your copy trade follower cap is too high. Please contact customer support to lower it if you want to enable this function! | 400 |
31044 | You are applying to become a trader now. Copying trade is not allowed | 400 |
31045 | The max. quantity for TP/SL is {0}. For any quantity exceeding this limit, please operate under “Initiated Copies”. | 400 |
31046 | No copy trade relationship is allowed between a parent account and its sub-account | 400 |
31047 | No copying is allowed within {0} minutes after the copier has been removed. Please try again later. | 400 |
31048 | Only this trader's referrals are allowed to follow this trader at the moment. Please create an account with the trader's referral link! | 400 |
31049 | The trader's status is abnormal or has been revoked, and cannot be viewed at this time! | 400 |
31050 | This trader UID is already set for the region. | 400 |
31051 | traderUserId error | 400 |
31052 | Cannot set trading symbol that have not been opened by traders. | 400 |
31053 | executePrice cannot exceed triggerPrice 的{0} | 400 |
31054 | No order to cancel | 400 |
20001 | startTime should be less than endTime | 400 |
22001 | No order to cancel | 400 |
22002 | No position to close | 400 |
22003 | modify price and size, please pass in newClientOid | 400 |
22004 | This symbol {0} not support API trade | 400 |
22005 | This symbol does not support cross mode | 400 |
22006 | limit price > risk price | 400 |
22007 | limit price < risk price | 400 |
22008 | market price > risk price | 400 |
22009 | market price < risk price | 400 |
22010 | Please bind ip whitelist address | 400 |
40100 | Due to regulatory requirements, Hong Kong IPs are required to complete identity verification first | 400 |
40101 | Please complete KYC | 400 |
00001 | startTime and endTime interval cannot be greater than 366 days | 400 |
12001 | {0} can be used at most | 400 |
12002 | Current currency {0}, limit net sell value {1} USD | 400 |
12003 | Current currency {0}, limit net buy value {1} USD | 400 |
13001 | Withdraw is too frequent | 400 |
13002 | Currency does not exist | 400 |
13003 | Withdrawal exceeds the monthly limit | 400 |
13004 | Your remaining withdrawal amount{0} | 400 |
13005 | Failed to generate address | 400 |
60006 | Parameter error | 400 |
60007 | upload image cannot exceed 5M | 400 |
60008 | The image format must be [". jpg", ". jpeg", ". png"] | 400 |
60009 | The image format error | 400 |
60010 | upload error | 400 |
60011 | Ordinary users can not post ads | 400 |
60012 | Please change your status from offline to online before posting your ads! | 400 |
60013 | Insufficient balance | 400 |
60014 | Fiat info not found | 400 |
60015 | Digital currency info not found | 400 |
60016 | Only supports publish CNY advertisement | 400 |
60017 | Not support publish CNY advertisement | 400 |
60018 | Your KYC certification only supports publishing {0} | 400 |
60019 | Post failed. Unable to obtain preference price | 400 |
60020 | advertisement type error | 400 |
60021 | Payment method is empty | 400 |
60022 | Trading amount incorrect | 400 |
60023 | Beyond fiat limit ({0}-{1}) | 400 |
60024 | Fund reconciliation errors | 400 |
60025 | The remark length cannot be longer than the configuration length | 400 |
60026 | Exclusive country error | 400 |
60027 | Payment time limit error | 400 |
60028 | Payment method error | 400 |
60029 | publish advertisement error | 400 |
60030 | status error | 400 |
60031 | The advertisement number is too long | 400 |
60032 | The advertisement not exist | 400 |
60033 | Posted ad amount incorrect | 400 |
60034 | Number of images attached in the remark cannot exceed the allocation limit. | 400 |
60035 | Edit advertisement error | 400 |
60036 | payTimeLimit cannot be empty | 400 |
60037 | Post failed. Price is significantly deviated from preference price | 400 |
60038 | Post failed. Incorrect floating rate | 400 |
60039 | User does not exist | 400 |
60040 | Unauthorized access not supported | 400 |
60041 | Edit advertisement price error | 400 |
60042 | limitPrice not empty | 400 |
60043 | The advertisement status update fail | 400 |
60044 | The advertisement status in editing can be edited | 400 |
60045 | Exceeding the number of advertisement that can be published | 400 |
60046 | priceValue not empty | 400 |
60047 | userPayMethodId not empty | 400 |
13007 | The current currency is {0}, and the net purchase value of {1} USD is limited within 24 hours, and the net purchase value of {2} USD is also allowed for {3} | 400 |
11000 | withdraw address is not in addressBook | 400 |
40103 | based on your IP address , it appears that you are located in a country or region where we are currently unable to provide services | 400 |
40104 | Unable to withdraw to this account Please make sure this is a valid and verified account | 400 |
30001 | Minimum Price Change {0} % | 400 |
40928 | Risk control, currently your max open size is {0} {1}. The size was calculated with all the main-sub accounts | 400 |
47003 | Withdraw address is not in addressBook | 400 |
13008 | A single withdrawal exceeds the maximum limit | 400 |
13009 | Exceeds withdrawal daily limit | 400 |
32038 | The sell price cannot be lower than the trigger price percent{0} | 400 |