
A grid bot does one thing. It places limit orders in a ladder and trades between them while price moves inside a set corridor.
It sounds like a money printer. In practice the usual picture is different: the bot's interface shows a green "grid profit" while the overall account result is negative. That is not a bug and not a scam. The profit of closed cycles and the full financial result are calculated by different formulas, and they sit next to each other on the screen.
Let's go through the mechanics, the math behind the step, exchange limits, and the scenarios where the grid strategy breaks. The examples are educational, the prices are illustrative, and the fees are taken from the base tiers on Binance and Bybit and depend on your account level. This is not investment advice: the exchanges state plainly that a grid bot is used at your own risk.
A grid bot in crypto is an algorithm that automatically maintains a grid of limit orders inside a set price range and earns on the difference between neighbouring levels. There is no directional forecast inside it. The bot does not know where price will go, and it does not try to find out.
Its only assumption: price will oscillate.
The more oscillation inside the corridor, the more closed cycles. The longer the trend runs one way, the more unsold asset or unclosed short sits on the balance.
A grid bot belongs to the same class of tools as DCA bots and arbitrage scripts (see Crypto trading bots: whether they’re worth using). DCA averages into a single entry point, arbitrage catches price discrepancies between venues, and the grid saws through a range without holding any view on the market at all.
The mechanics are primitive in the simplest way. The bot divides the range into equal intervals, places buy orders below the current price and sell orders above it. When a buy fills, the bot immediately places a sell one line higher. When a sell fills, a buy appears below again. Binance documentation says exactly this: a filled buy generates a sell at the next grid level.
One counting detail trips people up right away. The number of grids is the number of intervals, and there is one more line of orders than that. An illustrative calculation: ETH/USDT, range 3000-3600, 20 grids, arithmetic mode. Step: (3600 - 3000) / 20 = 30 dollars, 21 lines. Say price sits exactly on the middle line of 3300 at launch: 10 buy lines below it (3270, 3240 ... 3000), 10 sell lines above (3330 ... 3600). Order size 0.05 ETH.
One full cycle, a buy at 3000 and a sell at 3030, gives gross income of 0.05 × 30 = 1.5 USDT. Binance spot fee at the base tier is 0.1% on each side (without the BNB discount). Around 1.20 USDT is left net, which is 0.8% of the 150 dollars committed to that order.
Now the part that breaks a beginner's intuition. For the grid to work the whole range down, the bot holds money for every lower order: 0.05 × (3270 + 3240 + ... + 3000) = 0.05 × 31,350 = 1567.5 USDT. The 10 upper sells need the asset itself, 0.5 ETH: if you funded the bot with USDT only, it buys them at market on launch, another 1650 USDT or so. Full investment is around 3218 USDT before any buffer for fees, and most of it sits in orders that may never fill.
It is easy to fool yourself in the other direction here. Exchanges calculate bot returns on that entire amount (Bybit, for instance, divides grid profit by total investment and annualises it), so the money behind unfilled orders is already in the denominator. The trap is elsewhere: "grid profit" contains no result on the asset the bot bought and has not sold yet.
Limit orders, liquidity and entry points from scratch are covered in the free lesson of the crypto trading course on the Secret Terminal YouTube channel. The lesson is part of a full five-part course for beginners.
Three parameters decide everything. The range boundaries, the number of grids, and the order size. The rest (trigger price, stop-loss, take-profit) is scaffolding that saves you from extreme scenarios, but it does not turn a losing configuration into a profitable one.
The boundaries are the most consequential decision in the whole grid strategy. A mistake here is not compensated by anything.
Three working ways to pick them:
I usually start from the third method and cross-check it against the first. Round numbers are good for screenshots, not for settings.
What happens when price leaves the boundaries depends on the venue. On Binance, a spot strategy pauses when price leaves the corridor and resumes when it returns inside; on the Binance futures grid and on Bybit, new positions are not opened while open ones stay where they are. Either way the asset stays with you.
There is also a trigger price (the bot starts only after the last price crosses a set mark), plus a stop-loss below the lower boundary and a take-profit above the upper one, and touching either stops the grid.
A stop-loss on a grid looks unnatural (the point of the strategy is to sit through swings), but it is exactly what makes trend risk limited. Limited, not precise. A stop sets the condition for stopping, but it does not guarantee an exact price or a full fill: closing the accumulated asset, if your settings call for it, goes out as a market order against whatever liquidity is in the order book, and in a flush the actual loss comes out bigger than the calculated one. Without a stop, a grid on a falling alt ends with a bag of coins and no floor.
The width of the range conflicts with trade frequency. A narrow corridor gives many small cycles and a high chance of breaking out; a wide one gives rare trades and a safety margin.
The number of grids sets the step, and the step decides whether anything is left after fees.
Arithmetic mode divides the range into equal segments in dollars. Geometric mode divides it into equal segments in percent. The formulas from Binance documentation:
In an arithmetic grid the percentage profit is higher on the lower lines: in our example a 30-dollar step from a price of 3000 leaves around 0.80% after fees, while from 3570 it leaves around 0.64%. A geometric grid evens out that skew and makes more sense for wide ranges on volatile alts.
Now about fees. This is the main killer of a small step.
The spot calculation takes the base 0.1% on each side; the futures one takes the taker rate of 0.055% for a non-VIP account, which Bybit itself uses in its grid bot profit calculation. A passively filled limit order is cheaper (0.02% maker on Binance and Bybit futures), but the starting purchase goes at market, and on a sharp move part of the orders fill as taker. Check your own rates in your exchange account, for example on Binance. The conclusion is simple. A step below 0.25% on spot makes almost no sense — you are working for the exchange.
Grid count limits differ by venue:
The upper values are a technical option, not a recommendation: five hundred grids in a 10%-wide corridor give a step of 0.02%, and on spot that is a guaranteed minus.
How to quickly estimate the expected result. Take the total distance price travels inside the corridor (the sum of all moves up and down), divide it by the step, and you get the number of fills; cycles are half that, since each one needs a buy and a sell. Roughly: 40% of movement over a week at a 0.5% step gives around 80 fills and up to 40 cycles, and at 150 USDT per order with 0.3% net per cycle that is 40 × 0.45 = 18 USDT, around 0.6% of a 3000 USDT investment across 20 grids. That is an upper estimate: some fills never pair up.
A grid earns under three conditions at once. Price stays inside the corridor, the amplitude of the swings clearly exceeds the step after fees, and the pair has enough liquidity for orders to fill without surprises.
Remove any one of the three and the math falls apart.
A range is favourable for a grid bot in crypto, but it does not guarantee profit. The difference between those two statements costs money.
Why a range suits it. Inside a range price passes the same levels many times over, and that is exactly what the grid needs. Every pass down fills the position cheaper, every pass up unloads it. What matters is not direction but the number of line crossings.
Now the caveat, and it is a serious one. Not every range is the same range.
A narrow, sluggish range where the daily swing has compressed to, say, 0.6% against a 0.5% step: almost no fills, capital frozen, the breakout risk fully intact — and compressed volatility often comes right before a strong move. A wide, choppy range with several percent of swing over a week: here the grid works as intended. And the false range, which looks like a range on the 4-hour chart but turns out to be a shelf in a downtrend on the daily: the worst case, because it sustains the illusion of a working strategy the longest.
Four factors that eat profit even in a decent range:
About the pair. If the order book on an alt is empty, limit orders fill in jerks and market orders slip by a noticeable share of the step. I would not run a grid on a coin where the book is empty within a percent of price, however pretty the chart looks.
A grid blow-up almost always looks the same. The bot honestly closed dozens of cycles in the green, and the account is in the red, because the accumulated asset is worth less than what was paid for it.
Directional movement is the main enemy of the grid strategy. Price goes down, every lower order fills, the bot honestly buys all the way down. The paired sells do not fill, because price does not come back up there. By the time price leaves the corridor you have bought the entire size, and the market is already below the lower boundary.
When it doesn't work. An illustrative continuation of the ETH example. Grid 3000-3600, 20 grids, 0.05 ETH per order, 0.5 ETH bought at 3300 on launch to cover the upper sells. For two weeks price moved in the lower half of the corridor, the bot closed 40 cycles at 1.17-1.20 USDT net, averaging about 1.185: 40 × 1.185 ≈ 47 USDT. Then the market went to 2850, below the lower boundary.
On the balance: ten filled buys, 0.5 ETH at an average of 3135, plus the starting 0.5 ETH at 3300 — 1 ETH at an average of 3217.5 against a price of 2850, an unrealised loss of 367.5 USDT, plus around 3.2 USDT in fees for the starting purchase and the ten unpaired buys.
Bybit says this outright in its futures grid bot FAQ: total P&L can be negative when the loss on open positions exceeds accumulated grid profit. The formulas separate the two: Grid Profit = step × size per grid × number of completed cycles minus fees, while Total P&L = the closed result including fees and funding plus unrealised P&L.
Spot and futures are different levels of risk.
On spot you are left holding the asset and waiting for price to come back, if you believe in the coin. On futures it is harsher. Liquidation is the forced closure of a position by the exchange once margin runs short, and Binance, when calculating the estimated liquidation price for a long grid, assumes every buy order has already filled. Many people see that number for the first time after launching.
A step smaller than the fees. A grid with a 0.15% step on spot closes dozens of cycles a day and gives the exchange more on each one than it earns.
A range built on the last three days. A narrow corridor on compressed volatility looks efficient right up to the first expansion. Cross-check the boundaries against a higher timeframe and liquidity zones.
Launching on an illiquid coin for the sake of "volatility". An empty order book turns the calculated step into a lottery and makes the stop nearly useless.
Judging the bot by "grid profit". I look only at total P&L including the unrealised result. Green grid profit on a red account is normal in a trend, not a reason to add money.
Buying more "at a good price" after price leaves the lower boundary. That is no longer a grid, it is averaging against the trend with no exit plan.
How to read a range exit from the order book and clusters, rather than after the fact, is covered in the free lesson of the same course.
The comparison only makes sense on specific parameters, not in a "which is better" format.
The bot's main limitation is not speed and not fees. It does not see context.
The bot will not tell absorption (a limit buyer taking aggressive selling, and price not going lower) from ordinary volume passing through. It will not notice that a large density level in the order book at the lower boundary has thinned to a third over ten minutes while aggressive sells started coming through the tape (the stream of executed trades in real time) in even chunks. It will not react to the order that was holding the boundary being pulled before price got there: whether that was spoofing (a decoy order nobody intended to fill) or the owner changing their mind makes no difference to the bot — the support is gone.
A manual trader sees all of this and can simply stay out. The two approaches can be combined, but the edge of such a pairing needs to be verified on data. You set the range by hand using levels and liquidity (see Range trading: a strategy for a sideways market), hand execution inside the corridor to the bot, and go back to manual analysis at the boundaries. In Secret Terminal there is a lifetime timer for large orders next to the order book, density levels are drawn on the chart as lines, and the tape and clusters (the distribution of volume across prices inside a candle) show whether the density at the boundary is being eaten through or was simply pulled.
For short trades inside the range the logic is different — there it is reading the flow and fast execution that work (see Crypto scalping: the complete A-to-Z guide 2026), not an automatic ladder of orders. And don't confuse a grid bot with the ladder of limit orders a trader places in the terminal themselves to build a position in parts: that is a manual tool with no self-sustaining cycles.
The threshold is set by the exchange's minimum order notional and the number of grids. On many Binance pairs the minimum notional is around 5 USDT; check the exact value in the pair's rules. For 20 grids at 20 USDT per order you need about 200 USDT for the lower buys and roughly the same amount in the asset for the upper sells, so around 400 in total.
There is no universal step, there is a lower bound set by fees. On Binance spot at the base fee of 0.1% per side, a 0.15% step gives a loss of around 0.05% per cycle, 0.25% leaves around 0.05%, and 0.5% already leaves around 0.30%. Beyond that the step is checked against the pair's volatility in testing: if the typical hourly swing is smaller than the step, there will be almost no fills.
Spot for a first run. There is no liquidation and no funding there, and the worst case comes down to holding an asset that lost value. A futures grid gives lower base fees, short and neutral configurations and leverage, but it adds the risk of losing the bot's entire margin, plus funding.
The bot stops trading. On Binance a spot strategy pauses and resumes when price returns to the corridor; on the futures grid and on Bybit no new orders are placed while open positions remain. The unrealised loss on the asset grows while price keeps going, or until the stop-loss triggers.
On futures — yes, the bot's entire margin, through liquidation when the grid is filled and price moves against the position. On spot without borrowed funds there is no position liquidation, but the coin's fall in value, trading costs and the risk of the venue itself remain. Selling the asset once it has lost value turns the loss into a realised one. Exchanges explicitly disclaim responsibility for the results of bot operation.
Pairs with high liquidity and moderate but steady volatility. BTC and ETH give a deep order book and a tight spread at a smaller amplitude, while liquid alts give more fills and more risk. Low-liquidity coins do not suit it: an empty order book breaks execution.
It does, unless you are prepared to hold the asset for a long time. A stop below the lower boundary makes trend risk limited, but not precise: the price and the completeness of the fill depend on liquidity and on how the venue operates. The alternative is to calculate the unrealised loss at a fully filled grid in advance and pick boundaries to fit that number.
The grid strategy does not create profit out of nothing. It converts price swings into a series of small trades and, in exchange, takes on directional risk. Even inside the corridor the result depends on the step, the fees and the value of the asset left over. A trend starts, and the bill comes in full.
For a trend you need the order book. The moment price leaves the range decides the fate of the whole construction, and it is not decided in the bot's interface. Secret Terminal shows the order book with density levels and an order lifetime timer, the tape, clusters, and the funding rate with a countdown to settlement in one window, so the decision to exit is made off the market rather than after the fact. The terminal is free and works with Binance, Bybit, OKX, MEXC and WhiteBIT.

Has 5 years of trading experience and spent 3 years as a mentor, training over 2,000 students. He is developing Secret Terminal to make professional trading tools accessible to every trader.
Was helpful
Your rating will help us improve the quality of published materials and increase their usefulness.
We publish product updates, setup guides, and practical materials on working with Secret Terminal tools

How to start trading in Kazakhstan: choose a market and a platform, sort out the fees and learn to control risk in real ...

What staking is, how it works, how much it pays, the risks.

What position trading is, how it differs from swing trading.