Creating a Grid bot step by step
A Grid bot is created by a six-step wizard. The extra settings — leverage, margin, trigger, Stop-Loss and so on — are gathered on the last screen, the confirmation.
What you need beforehand
- An exchange bot with API keys: Bybit Spot or Bybit Futures. Spot and futures need two different key pairs and two different exchange bots — see Exchange bot and API keys.
- On futures — One-Way position mode on the exchange.
- A free slot in your plan: every bot takes a slot, including the exchange bot itself. By default you can keep 2 Grid bots at a time; a paused bot also takes a slot.
- A connected notification bot — otherwise you will not see a single event.
Where it is in the bot
Main menu → 🪜 Grid Bots → ➕ Create Grid Bot. The first time you open the section there are five onboarding screens (➡️ Next / ⏭️ Skip).
How to set it up
| Step | Screen | What to enter |
|---|---|---|
| 1 | “Create Grid Bot — Step 1/6. Choose an API bot for trading” | Tap the exchange bot you need |
| 2 | “Step 2/6. Enter the trading pair” | Text like BTCUSDT: Latin letters and digits only, 2–20 characters; the pair must exist on the exchange. On futures — perpetual contracts only |
| 3 | “Step 3/6. Choose the grid direction” | 🟢 Long / 🔴 Short / ↔️ Neutral. On spot there are also three buttons, but only Long is accepted — the refusal arrives at the confirmation |
| 4 | “Step 4/6. Enter range” | On a single line: lower_price upper_price level_count [amount_per_level], for example 60000 70000 20 6. Without the fourth number — 10 USDT per level. The separator is a space, the decimal separator is a dot |
| 5 | “Step 5/6. Choose mode and enter parameters” | Buttons 📐 Arithmetic (uniform) / 📈 Geometric (percentage). The hint shows the current amount per level and leverage; you can correct them with the text amount_per_level [leverage], for example 6 2 |
| 6 | “Create Grid Bot — Confirmation” | The summary, the profit calculator, the setting buttons and ✅ Confirm creation |
Step four is covered in detail in Range, levels and amount per level.
The confirmation screen
Setting buttons on step 6:
- 🎯 Set trigger — a delayed start by price;
- 🛑 Stop-Loss — a stop by price;
- 🎯 Active window: all levels — how many levels to keep on the exchange;
- ♾️ Infinity Grid: OFF — Spot + Long only, a grid without an upper bound;
- 🛠️ Profile: Custom, ⚡ Leverage: x1, ⚖️ Margin: CROSS, 🔄 Trailing: OFF, ⚙️ SL trigger: Mark — futures only; on spot these buttons are absent.
Before your first Grid or DCA bot the bot shows a risk notice and asks you to tap ✅ I accept the risks — once per account. The ❌ Cancel button aborts the creation and clears the wizard: you will have to start from the first step.
After the confirmation
- “✅ Grid bot created and activated! It will appear in your Grid bot list.”
- In the notification bot: “⏳ Grid BTC grid. Placing 20 orders on the exchange… It may take a few seconds up to a minute.” With a large number of orders — “Placed 10 of 20 orders…”.
- “✅ Grid BTC grid. Done! 20 of 20 orders placed. Bot is active and trading.” — the status in the card is “Active”.
For Long, buy orders appear on the exchange only at the levels not above the current price; sells appear as the buys get filled. If a trigger is set, the bot goes to the status “Waiting trigger” and places no orders yet.
Limits and allowed values
| Parameter | Value |
|---|---|
| Pair | Latin letters and digits, 2–20 characters; futures — perpetual contracts only |
| Levels | 2–200 |
| Amount per level | greater than zero and not below the exchange minimum order; 10 USDT by default |
| Leverage | 1–20, futures only; on spot x1 |
| Grid bots at a time | 2 by default (paused bots count) |
| Balance | amount per level × levels (on futures ÷ leverage) with a 10 % buffer |
Common mistakes and what the bot says
- “❌ Invalid symbol. Use only letters and digits (e.g.
BTCUSDT).” — the name contains a hyphen, a space or non-Latin letters; contracts with a date such asBTCUSDT-27MAR26are rejected the same way. - “❌ Symbol
BTCUSDnot found. Check spelling (e.g.BTCUSDT,ETHUSDT).” - “❌ Invalid format. Enter:
lower_price upper_price levels” — most often a comma instead of a dot in the price. - “❌ Invalid input. Send
amount_per_level [leverage], e.g.6or6 2. Amount is in USDT per level, leverage is an integer from 1 to 20.” - “Limit reached: 2 Grid bots. Stop an existing bot or contact support.”, “🔒 Plan limit reached: 3 bots (3 in use)…” — free a slot: stop a bot, a pause does not free the slot.
- “Symbol BTCUSDT is already used by Grid bot "BTC grid". Stop it or use a different API key.” — the same applies to a DCA bot and to a signal trade; bots of another exchange bot with the same keys count too.
- “Grid bot requires One-Way position mode. Current mode on exchange for BTCUSDT: Hedge. Switch mode in exchange settings or use different API keys.”
- “Insufficient balance for the Grid. Required: ~132 USDT (with 10% safety buffer for fees and slippage) for the whole grid, available: 100 USDT…” — top up the account or reduce the amount per level or the number of levels.
- “Bot creation cancelled. Real-money trading requires accepting risks.” — you tapped ❌ Cancel.
The checks of the range, the step and the amount are described in Range, levels and amount per level.
