Grid bot
How spot and futures grid bots work, every setting with its default, Long, Short and Neutral grids, and why a grid loses money when the price trends.
On this page
A grid bot splits a price range into levels. It places buy orders on the levels below the price and sell orders on the levels above. Each time a buy fills, it places a sell one level higher. Each time that sell fills, it buys again one level lower. Every completed buy and sell earns one grid step, minus fees.
A grid does well when the price moves up and down inside the range. It does badly when the price leaves the range and keeps going.
Spot grid or futures grid
Pick Futures or Spot in the market picker of the builder's header, as on Trade.
| Spot grid | Futures grid | |
|---|---|---|
| Venue | Hyperliquid spot | Hyperliquid and Aster perps |
| Direction | Long only | Long (default), Short or Neutral |
| Leverage | None, no liquidation | 1x default, up to 3x; 4x and 5x on the deepest markets only. Isolated margin |
| At the start | Buys the coin for the sell levels above the price | Opens a position for the levels above the price (Long) |
| Funds | USDC in your spot balance. The bot can't move funds, so move them first. See Move between perps and spot | Free margin on the account |
| When stopped | Sell the coin, or keep it | Close the position, or keep it |
A futures grid can't start on a market where the account already has a position. The builder checks this (and, on Aster, one-way position mode and single-asset margin) before you sign, says why, and keeps Continue off until it's fixed.
The settings
The panel asks for the essentials first. A run length fills in every other setting for you (see Run length); the rest sits under Manual adjustment.
| In the panel | Default | What it does |
|---|---|---|
| Direction (futures) | Long | Short and Neutral on the deepest markets only, with a red risk line |
| Investment | What the bot may use. 25%, 50% and Max fill in a share of the available balance; Max leaves 1% for fees. On spot the balance is the USDC in your Hyperliquid spot balance not held by orders. More than you have is refused: "Not enough USDC. Available …" | |
| Leverage (futures) | 1x | 1x to 3x; 4x and 5x on the deepest markets only. The estimated liquidation price on the chart moves with it |
| Run length | 1 to 3 days, 3 to 15 days or 25+ days: ready settings for this coin |
Under Manual adjustment:
| Field | Default | What it does |
|---|---|---|
| Grids | A slider for how many grids the range is cut into, with the step it gives and the minimum investment for that many. It only goes as far as counts that can run: past it the step would be under the fees, or the orders would need more than your investment | |
| Lower price / Upper price | 10% below and above the price | The range. It must be at least 2% wide |
| Number of grids | 20 | 2 to 150 on Hyperliquid, 2 to 100 on Aster |
| Grid step | From the range and grids | The gap between levels. Number of grids and grid step are linked: the one you edited last stays fixed when you move the range |
| Grid type | Geometric | Arithmetic: an equal price gap between levels. Geometric: an equal % gap |
| Stop loss | 5% below the lower price (Long) | Required. Stops the bot and closes the position when hit (spot: sells the coin the bot holds). Short grids put it above the upper price, and Neutral grids also get a Stop loss above the range. If the price is already beyond it, the form asks you to move it or set a trigger price |
| Profit per grid | What one completed buy and sell earns after fees, as a range across the levels. It must be above zero |
Under Advanced, at the end of Manual adjustment:
| Field | Default | What it does |
|---|---|---|
| Trigger price | Off | The bot waits until the price crosses it, then starts. Use it when the price is outside your range: without one, a Long grid below its range buys its whole investment at start (the form warns) |
| Take profit | Off | The bot stops when its total PnL reaches this % of the investment |
| Trailing take profit | Off | Once take profit is reached, the bot follows the price and stops when it falls back by this % |
| Max loss | 30% of the investment, or more when the loss at your stop is bigger | The bot closes at market when its total PnL reaches this loss. Part of the limits you sign. With leverage the loss at the stop can pass 30%, so the default rises to cover it (plus 10%) and the stop stays the real exit. A max loss you enter below it gets a warning: the bot would close before the price reaches the stop |
| Trailing up (spot) | Off | When the price leaves the top, the grid moves up one step and the stop moves with it. Needs a Trailing up limit: the grid never moves above it |
| Pump protection (spot, with trailing up) | On | Pauses trailing buys while the price moves more than 3% in 5 minutes |
| Trailing down (spot) | Off | Keeps buying below your range, down to the Trailing down limit. You can end up holding a falling coin |
| If the price leaves the range | Keep running | Keep running waits for the price to come back, the stop still protects it. Stop and close closes the position (or sells the coin). Stop and keep stops and keeps the position with its stop (or the coin) |
The chart shows the bot's lines as you set them: the upper and lower price, the grid levels, the trigger and the stop loss, and on futures the estimated liquidation price.
What the form checks
- Fees: the smallest real step between two levels must be at least 3 times a round trip's fees: your venue maker fee both ways and the Prow fee both ways at its standard rate, even during the promo. Steps under 1% are allowed with a warning: in our tests they lost more.
- Rounding: levels are rounded to the venue's price ticks. Levels that land on the same price are merged, and the form says how many.
- Order size: the bot puts the same coin size on every level. The order on the lowest level must still meet the venue's minimum order, so the form says what your settings need. When your investment runs only some of the grids, it says how many fit and offers the amount (or the leverage) for all of them.
- Liquidation (futures): Prow takes the worst case, every level on the losing side filled, and checks that liquidation would come after your stop fills. If not: "Liquidation at … could come before your stop at …. Lower leverage or move the stop closer." An estimated liquidation close to the price gets a warning too.
Long, Short and Neutral
- Long holds a position for the levels above the price and buys more as the price falls. It profits from swings and loses when the price falls through the range.
- Short is the mirror: it sells as the price rises and loses when the price rises through the range.
- Neutral starts with no position. It goes short above the start price and long below it, with a stop on each side.
Why a grid loses in a trend
An example. A Long futures grid on a coin at 100 USDC, 1x, 1,000 USDC invested, range 90 to 110, 20 geometric grids. The step is about 1%, and each completed buy and sell earns about 0.48 USDC before fees.
- At the start the bot buys the coin for the 10 sell levels above 100.
- The price falls to 90. Every buy level fills. The bot now holds about 10 coins at an average of about 97.20.
- The price keeps falling to the stop at 85.50. The bot closes the position for a loss of about 117 USDC, or about 12% of the investment.
To earn back 117 USDC, the grid would have needed about 240 completed round trips. A grid earns a little many times and can lose a lot once. That is why a stop is required and why the default is 1x.
Tips
- Pick a range the price has respected recently. The 1 to 3 days, 3 to 15 days and 25+ days run lengths do this from the coin's last 3, 14 or 60 days and keep the settings that held up most consistently across many start dates, not the one with the highest single result. See Run length.
- Fewer grids mean wider steps: less trading, less fee drag.
- Compare the figure under the run length ("Last 14 days: +0.6%") with what simply holding the coin did over the same days on the chart. A grid that made 3% while the coin gained 10% did worse than doing nothing, and a grid earns nothing while the price is outside its range.
Last updated