Several bots on one account
On one Bybit account you can create several API key pairs and put a bot on each of them: a Signal, a Grid or a DCA one. The bots work independently, but the account is one, so part of the settings and limits is shared. Below is what exactly is shared and where the bots can get in each other's way.
One key pair — one bot
Every bot needs its own API key pair: if you try to use the keys twice, the bot refuses — “This API key pair already exists in the system”. Spot and futures need different keys.
One symbol — one bot
On the same keys only one bot or one signal trade can work on one pair. The second one is refused:
- “Symbol BTCUSDT is already used by Grid bot "MyGrid". Stop it or use a different API key.”
- “Symbol BTCUSDT is already used by a signal trade. Close the trade or use a different API key.”
For signal trades the same rule works through the position mode: “Opening trade for BTCUSDT is not possible (One-Way mode): there is already an active trade or pending entries for this pair.” If there is a position or an order on the pair that was not placed by this bot (another bot or you by hand), you get: “Opening trade for BTCUSDT is temporarily unavailable: the exchange already has an active position or order for this pair that is not linked to your bot.” Spread the pairs between the bots — see “Symbol … is already used”.
The shared order limit of the exchange
Bybit allows 500 active orders for the whole account, so the orders of all the bots working on the account go into that limit (separately, the exchange also has a limit on the number of orders per symbol). The bot keeps a reserve of 20 orders and does not place new ones if they do not fit into it, and at 80 % it warns you — not more than once every 30 minutes: “⚠️ You are using 400 of 500 active orders on the exchange (80%). At 500 the exchange will start rejecting new orders. Consider stopping some Grid/DCA bots.” More on this in The order limit of the exchange.
Settings for the whole account
| Setting | Why it is shared |
|---|---|
| The margin type (Cross / Isolated) | It is set for the whole account and affects all the trades of all the bots. On a unified trading account the margin mode is switched only by hand on the exchange, see Margin type |
| The position mode (One-Way / Hedge) | Shared for the account. Grid and DCA bots require One-Way; if the mode was changed on the exchange, you get “🚨 Position mode changed on the exchange … Grid bot #12 (BTCUSDT) has been paused” — set the mode back and unpause the bot. The mode cannot be switched while there are open positions or orders, see One-Way position mode on futures |
| The balance | One for everyone: the “Balance percentage” of every bot is calculated from the common USDT balance, and the funds taken by one bot are not available to another |
| The kill switch | It counts the drawdown across the whole account and, when it fires, pauses all the Grid and DCA bots. It does not switch Signal bots off — if needed, switch the auto-trading from channels off by hand in the bot cards |
Cross without a stop is dangerous for the neighbours on the account, and the bot warns about it: “⚠️ Warning: Cross margin without Stop-Loss. If the position goes deep into the negative, liquidation will affect the entire account (including balances of other bots). Recommended: either switch to Isolated, or set a Stop-Loss.”
Several Signal bots on one channel
Every bot connected to a channel opens its own trade on every signal. Auto-trade is switched on separately for each of them — the button under the signal gives a hint: “You have several bots on channel "Name": Bot1, Bot2. Go to: Main menu → My Bots → pick a bot → enable auto-trading with the switch.” If both bots work on the keys of one account, the one that opens a trade second sees the position or the orders of the first one on the exchange and refuses: “…the exchange already has an active position or order for this pair that is not linked to your bot”. To let two bots trade one channel in parallel, put them on different accounts or subaccounts.
Notifications
The events arrive for each bot separately, and the message names the bot: “⚠️ Signal not processed · Channel: … · Bot: … · Reason: …”. To avoid confusing the bots, give them meaningful names through Bot settings → Rename bot.
Limits and allowed values
| Parameter | Value |
|---|---|
| Key pairs per bot | Exactly one, never reused |
| Bots per symbol on the same keys | One (a bot or a signal trade) |
| Active orders per Bybit account | 500; the reserve of the bot is 20; the warning is at 80 % |
| The margin type, the position mode | Shared for the whole account |
| Grid and DCA bots | One-Way only |
Common errors and what the bot says
- “Symbol … is already used …” and “Opening trade for … is not possible (One-Way mode)…” — a conflict on the pair, the texts are above; stop the conflicting bot or wait until the trade closes.
- “Not enough available balance on the exchange to place the order. Top up your account or reduce the trade size/leverage.” — the free funds are taken by other bots or positions.
- “⚠️ You are using 400 of 500 active orders on the exchange (80%)…” — stop some of the Grid or DCA bots, or reduce the number of levels.
- “🚨 Position mode changed on the exchange” — set the mode back and unpause the bots, see “Position mode changed on the exchange”.
