← Back to the docs
LootX

Bitget errors

Generated: 2026-10-01 docs.lootx.trade
Коды ошибок

1Bitget errors

Bitget error codes in LootX: signature 40009, key and passphrase, permissions and IP, unified trading account 40085, price corridor and insufficient funds.

Bitget reports errors via code and msg fields: "00000" is success, any other five-digit number is a rejection. The text is usually English, but some messages come in Chinese regardless of account language — for example, “订单不存在” (“order does not exist”). If the terminal does not recognize the code, the popup message shows the exchange response as-is after “Order:”: Bitget POST /api/v2/…: HTTP 400 {"code":"43012","msg":"Insufficient balance",…} or shorter — Bitget error 43012: Insufficient balance.

For some codes the terminal appends a short English explanation after the exchange response — what happened and where to fix it. It is deliberately in English: that way it reads the same for any interface language. All of these explanations are translated below. For the general approach to troubleshooting errors, see Error messages: how to read them; for key setup, see Connecting exchanges and API keys.

What the terminal explains itself

Situation Codes What you will see
Exchange rejected the key or passphrase 40006, 40012, 40037; on stream login — 30011, 30012 Card with the connection name: “…: exchange rejected the API key or secret — check them in connection settings”. In Settings → Connections the connection shows the tooltip “Exchange rejected the API key or secret”. Explanation: “Bitget did not accept the API key or its passphrase…” — the key or passphrase was not accepted; a deleted key is rejected the same way
Signature not verified 40009 On connection — the same card; on an order — “Order rejected: invalid API key or secret”. Explanation: “Bitget could not verify the request with this secret key…” — see Signature not verified
Key lacks permission 40014 Exchange text with the explanation “the API key lacks a permission…” — enable spot or futures trading for the key
IP outside the key’s list 40018 Exchange text with the explanation “this IP address is outside the IP list bound to the key…” — add the IP to the key’s list or remove the binding; with a proxy, the proxy address counts
Account switched to unified trading account 40085 Exchange text with the explanation “the Bitget account has been switched to Unified Trading Account (UTA) mode…” — see Account switched to UTA
Price outside the exchange’s corridor 41117, 41118 “Bitget: price outside the allowed corridor (…). The order book may be stale (WS flap) — refresh data and re-peg the price.”
Too many requests HTTP 429 “⚠ … request limit exceeded (429), limited until 30.09.2026 12:01:00 UTC”. The terminal waits out the pause itself
Clocks drifted apart 40005 The rejection is not treated as a key error, the connection is not dropped. The terminal syncs time with the exchange on connection and once a minute
Too frequent stream logins 30006, 30007 Nothing: the terminal reconnects with a pause, the key is not marked invalid
Order no longer exists 43001, 43025 Nothing: the cancellation is treated as completed
Nothing to cancel 22001 Nothing: the mass cancellation is treated as completed
Position mode on futures 40774 The terminal detects the account’s position mode on connection and builds orders accordingly. If you changed the mode on the website while working and orders are being rejected — reconnect Bitget
Not enough coins when closing a spot position 43012, 45117, 50067, 40762 The terminal retries the sell with volume reduced by the fee amount. If that doesn’t help — shows the exchange text
Nothing to close on spot — “Bitget SOLUSDT: nothing to sell — SOL balance = 0, position already closed”. No order is sent to the exchange
Exchange suspended API trading for the coin based on words in the response “API trading is unavailable for this coin — exchange restriction”

Frequent codes

Code How it looks Cause What to do
40006 Card “exchange rejected the API key or secret” The key is invalid Copy the key again into API Key
40012 Same card Invalid key or passphrase Check Passphrase — it’s the password you set when creating the key
40037 Same card No such key — most likely it was deleted Create a new key on the Bitget website
30011, 30012 Same card On private stream login: invalid key or passphrase Same as for 40006 and 40012
40009 Card or “Order rejected: invalid API key or secret” Signature mismatch See Signature not verified
40014 Exchange text in the order message with the permissions explanation The key lacks permission for the action Enable trading for the key on the required market in API management
40018 Exchange text in the order message with the IP explanation The request came from an IP not on the key’s list Add the IP (or proxy address) to the key’s list
40085 Exchange text in the order message with the UTA explanation Account switched to unified trading account See Account switched to UTA
40005 Exchange text in the order message Computer clock drifted from the exchange, most often after waking from sleep Retry the order in a minute. If it recurs — enable time sync in Windows
HTTP 429 “request limit exceeded (429), limited until …” Request limit exceeded Wait until the specified time, close extra Bitget windows
43012, 43011 Exchange text in the order message: “Insufficient balance” Not enough funds on futures for the order Reduce volume or leverage, cancel extra orders, top up the futures account
45117, 50067, 40762 Exchange text in the order message Not enough funds on spot Check the free balance — funds under open orders are locked
41117, 41118 Terminal message “price outside the allowed corridor” or exchange text “…price cannot be…” Limit order price is too far from the market: 41117 — sell below the allowed level, 41118 — buy above Make sure the order book is updating and re-place the price closer to the market
22002 Exchange text in the order message: “No position to close” The order is reduce-only but the position no longer exists — it was closed on the exchange or by a stop-loss Wait for positions to refresh in the terminal
43001, 43025 Nothing The order being cancelled no longer exists Nothing to do

How to fix frequent issues

Signature not verified (40009)

This rejection has three common causes:

  1. Secret not copied in full. Paste API Secret again in Settings → Connections, without leading or trailing spaces.
  2. Key with a self-created RSA pair. Bitget lets you create a key in two ways — system (HMAC) or custom RSA. The terminal signs requests only with a system key: create a Bitget-generated key.
  3. Coin with non-Latin characters in its name. If the rejection occurs only for such a coin while others work, the key is fine and reissuing it won’t help. The terminal picks the signature form for such characters itself and retries the request.

Account switched to UTA (40085)

Bitget split its API into two kinds: classic and unified trading account (UTA). LootX works with the classic one. As soon as the main account is switched to UTA, the exchange responds 40085 to every request from the terminal — trading simply stops working even though the key is valid.

What to do now: trade from a subaccount that runs in classic mode. Transfer funds to it, create an API key for it, and add that key in Settings → Connections.

Key not accepted

Check that the key exists

Open API management on the Bitget website. Code 40037 means the key does not exist — create a new one.

Check the three fields

In Settings → Connections, paste API Key, API Secret, and Passphrase again. Passphrase is the password you set when creating the key, not your account password.

Check permissions and IP

The key must have trading enabled on the markets marked with the Spot and Futures toggles. If the key is IP-bound, the list must contain your computer’s external address or proxy (the Proxy section in the connection card).

After fixing, the terminal reconnects automatically on the next attempt.

Price outside the corridor (41117, 41118)

Bitget rejects limit orders whose price is too far from the current one: a sell noticeably below the market or a buy noticeably above. Most often this happens when the order book in the terminal has fallen behind the market, for example after a connection drop. The terminal does not move your price on its own — that would be unsafe. Make sure the order book is updating and place the order again.

Insufficient funds

On spot, funds under open orders are locked — cancel extra orders or reduce volume. On futures, an order requires margin based on leverage: reduce volume or leverage, or transfer funds to the futures account.

When closing a spot position, some coins may have gone to the fee. The terminal retries the sell with a slightly smaller volume, and after it a “dust” amount smaller than the volume step may remain in the wallet — it cannot be sold with an order.

Next

https://docs.lootx.trade/en/terminal/errors-bitget