Bybit Errors
1Bybit Errors
Bybit error codes in LootX: key and signature, permissions, insufficient funds, minimum order amount, and request limits.
Bybit responds to every request with retCode and retMsg fields: zero in retCode means success, any other number means failure with an English explanation. The error often comes with a normal HTTP status 200, so you need to look at the code itself. Spot trading codes on Bybit typically start with 170…, futures and unified trading account codes start with 110…, and key and signature codes start with 100….
If the terminal does not recognize the code, the popup message after “Order:” will show Bybit’s response as Bybit error 170131: Insufficient balance. — first the number, then the exchange’s text. For the general procedure for reading 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 signature on connection | 10003, 10004, text “API key is invalid” when entering the private stream |
Card with the connection name: “…: exchange rejected the API key or secret — check them in connection settings”. In Settings → Connections, the connection shows a tooltip “Exchange rejected the API key or secret”. The terminal retries roughly every 30 seconds |
| Invalid signature on an order | 10004 |
“Order rejected: invalid API key or secret” |
| Too many requests | HTTP 429 and 403 | “⚠ … request limit exceeded (403), restricted until 30.09.2026 12:01:00 UTC”. The terminal paces itself |
| Clock skew | 10002 |
The rejection is not treated as a key error, and the connection is not dropped. The terminal synchronizes time with the exchange on connection and once per minute — the next sync removes the discrepancy |
| Order no longer exists | 110001, 170213 |
Nothing: the cancellation is considered complete |
| Nothing to cancel | 10001 with text saying there are no active orders |
Nothing: the bulk cancellation is considered complete |
| Leverage already set | 110043 |
Nothing: the terminal considers the leverage change complete |
| Spot order amount below minimum | — | The terminal increases the volume to the minimum order amount with a 1% buffer, if it knows the minimum for the coin |
| Not enough coins when closing a spot position | 170131, 110007 |
The terminal immediately re-reads the wallet and retries the sale with a volume reduced by the fee amount. If that doesn’t work, it shows the exchange’s text |
| Nothing to close on spot | — | “Bybit SOLUSDT: nothing to sell — balance SOL = 0, position already closed”. The order is not 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” |
Code 10005 — no permission for the action — the terminal deliberately does not call it “key rejected”: the key is valid, it just lacks the permission. Such a rejection comes as the exchange’s text.
Common codes
| Code | How it looks | Cause | What to do |
|---|---|---|---|
10003 |
Card “exchange rejected the API key or secret” | Key is invalid, deleted, or expired | Check the key on the Bybit website and re-enter it — see Exchange rejected the key |
10004 |
Card or “Order rejected: invalid API key or secret” | Signature mismatch: secret doesn’t match the key | Re-enter the API Secret |
10005 |
Exchange text in the order message: “Permission denied for current apikey” | The key doesn’t have permission for this action | Enable the required key permissions — see Key lacks permissions |
10002 |
Exchange text in the order message: “…server timestamp or recv_window param” | Request time outside the allowed window: computer clock has drifted from the exchange, most often after waking from sleep | Retry the order in a minute. If it recurs, enable time synchronization in Windows |
| HTTP 403 | “request limit exceeded (403), restricted until …” | Too frequent requests from a single IP | Wait until the specified time, reduce the number of windows with Bybit |
| HTTP 429 | “request limit exceeded (429), restricted until …” | Request limit exceeded | Wait for the pause to end |
170131 |
Exchange text in the order message: “Insufficient balance” | Not enough free funds on spot | Check your free balance and cancel unnecessary orders — see Insufficient funds |
110007 |
Exchange text in the order message: “ab not enough for new order” | Not enough available balance on the unified trading account for the order | Reduce the volume or leverage, or top up the account |
170140 |
Exchange text in the order message: “Order value exceeded lower limit” | Spot order amount is below the minimum | Increase the volume |
170032 |
Exchange text in the order message: “Network error, please try again later” | Temporary failure on Bybit’s side, unrelated to balance | Retry the order in a few seconds |
110001 |
Nothing | The order being cancelled no longer exists: filled or cancelled | Nothing to do |
170213 |
Nothing | Same for a spot order | Nothing to do |
110043 |
Nothing | Leverage is already set to that value | Nothing to do |
How to fix common problems
Exchange rejected the key
Check that the key exists and hasn’t expired
Open API management in your Bybit profile. The key may have been deleted. Also, Bybit limits the validity of keys without IP binding: if the key stopped working on its own, check its expiration date.
Copy the key and secret again
Bybit shows the secret only when creating the key — if it wasn’t saved, create a new key. In Settings → Connections, paste the values into API Key and API Secret without leading or trailing spaces.
Check IP binding
If the key has an IP whitelist, it must include your computer’s external address. If you’re using a proxy (the Proxy section in the connection card), add the proxy address.
After fixing, the terminal will reconnect on its own on the next attempt.
Key lacks permissions
Code 10005 means the key was accepted, but it doesn’t have permission for the action. Open the key in API management on the Bybit website and check:
- the key was created with read and write permission, not read-only;
- trading is enabled for the markets you work in: spot and/or derivatives — under the Spot and Futures toggles for the connection in the terminal.
You usually don’t need to recreate the key: permissions can be changed in the existing key’s settings.
Insufficient funds
On spot (170131), funds locked by open orders are unavailable for a new order. Cancel unnecessary orders or reduce the volume.
On the unified trading account (110007), an order requires margin based on leverage and existing positions. Reduce the volume, cancel orders, or top up the account.
When closing a spot position by selling, the shortfall often comes from the fee deducted in the purchased coin. The terminal accounts for this: it checks the volume against the wallet and, on rejection, retries the sale with a slightly smaller volume. This may leave “dust” on the wallet smaller than the volume step — it can’t be sold with an order.
Request limit exceeded
Bybit responds with 403 when there are too many requests from a single IP; the terminal also treats a 429 response as a limit exceeded. The terminal shows the time until which it waits and does not send requests to this exchange before then. The time is in UTC: in Moscow, add three hours. If the limits recur, reduce the number of windows and panels using Bybit on the same computer.
Account in hedge mode
LootX works with futures positions in one-way mode: one position per coin. If hedge mode is enabled for a contract on Bybit (separate long and short), the exchange will reject the terminal’s orders and positions will display incorrectly. Switch the position mode to one-way in the derivatives settings on the Bybit website.
Next
https://docs.lootx.trade/en/terminal/errors-bybit