Pionex, Bitsgap, and 3Commas all market grid-style bots. Each handles a runaway price move differently — and none of their grid designs shrink order size as price drifts. Here's how WaveRunner's anchor-scale safety changes the math.

Spot grid bots fail quietly.

Price drifts in one direction long enough that the ladder you set up at the start has filled on one side and stopped cycling. You're holding inventory — tokens you bought through the lower rungs that the market has since marked down. The script is still running. The dashboard says active. The bot just isn't doing anything useful. The risk isn't a sudden blow-up; it's ending up bag-held in an asset you no longer want at the price you paid.

That's one flavor — call it the stall. There's a second flavor, less common but more expensive: the bleed. That's when the bot's design actively makes things worse the further price moves against you — order size scales up, the bag grows, average entry drifts down, and the rebound you need to break even keeps moving further away.

Both failure modes are well-documented. Both are baked into how most popular grid bots are designed.

The structural mechanic — why this happens

The generic grid bot pattern is simple. A fixed price range. A ladder of buy orders below the current price, a matching ladder of sell orders above, and a fixed order size at every rung. When price oscillates inside the range, the bot fills rungs and closes cycles. When price runs in one direction, the ladder fills one-sidedly and inventory accumulates.

That's the unavoidable mechanic. Every grid bot has to deal with it. The question every grid bot designer answers — explicitly or implicitly — comes down to two design choices:

  1. What happens when price exits the range? Stop trading until it comes back? Cancel orders and rebuild around the new price? Just let the ladder sit empty?
  2. What size are orders, and does it change with distance from a reference price? Same size everywhere? Larger the further away? Smaller?

Most popular grid bots get one of these wrong. Some get both wrong.

How Pionex, Bitsgap, and 3Commas handle this

Pionex. The standard Spot Grid Bot uses a fixed price range you set when you create the bot. Per Pionex's own Help Center, when price exits the lower range: "All investments have been fully acquired." Translated: the bot has spent your entire allocation buying down through the ladder, you're now holding what they explicitly call "a full position (100%)," and the bot stops trading. Pionex does offer a Trailing Up option in Advanced settings that shifts the entire grid upward as price climbs — but their documented Advanced settings list doesn't include a symmetric Trailing Down. Exit the lower range and the bot stops grid-trading; the only documented mitigations are a stop-loss that closes the position or a manual reset.

Bitsgap. Bitsgap goes further than Pionex with both Trailing Up and Trailing Down features — the grid actually follows price in both directions. The catch is how. Per Bitsgap's own docs, Trailing Down "increases your bot's investment by using additional funds from your balance," and "the bot's exposure to price fluctuations grows with each grid extension." In plain English: as price falls, the design choice is to extend the ladder by committing more capital. Bitsgap does let you cap the descent with a user-set Stop Trailing Down price — but by the time the bot hits it, you've already grown your position. That's not Pionex's stall; it's a slower-burn averaging-down design — the bag grows, average entry drifts lower, and getting back to break-even depends on price rebounding above a now-larger position.

3Commas. 3Commas has multiple bot products; the one that competes with spot grid logic in crypto is their DCA Bot configured for a spot pair. It has a safety-order volume-scale parameter — set it above 1.0 and each successive safety order is larger than the last. The textbook martingale pattern: order size grows as your unrealized loss grows. 3Commas isn't even shy about the framing — their API parameter is literally named martingale_volume_coefficient, and it's a required field when creating a DCA bot through their API. The deeper underwater the spot bag goes, the harder the bot doubles down on it.

How WaveRunner's anchor-scale safety works

WaveRunner makes the opposite two design choices.

When price drifts away from the anchor, order size shrinks. The further from the reference price, the smaller the orders the script will deploy. That's the opposite of the martingale pattern — same physics, inverse direction. The sizing taper looks like this:

Distance from anchor New order size
Near the anchor 100%
10–25% away 75%
More than 25% away 50%

When the ladder becomes one-sided — meaning price has drifted far enough that most orders are sitting on one side and nothing's cycling — the script cancels open orders and rebuilds the ladder around the current price. We call this auto re-anchor. Critically, this is a relocation, not an expansion — the script reuses the existing capital allocation rather than pulling additional funds from your balance to extend a failing position downward.

The two mechanisms work together. Anchor-scale safety means inventory accumulates more slowly when price runs. Auto re-anchor means the grid resets so cycles can resume from wherever price currently is — without growing your exposure on the way there.

The honest caveat

Anchor-scale safety dampens the failure mode. It doesn't eliminate it.

A truly sustained one-way move — the kind that lasts days or weeks without meaningful pullback — will still exhaust the ladder eventually. The script will shrink orders as it goes; auto re-anchor will trip; the grid will reset around the new price. But if price keeps running after that, the same thing happens again from the new anchor. WaveRunner is designed for choppy, sideways, or modestly trending markets — markets that oscillate inside a band you can identify. It's not a moonshot script.

Misconfiguration also defeats the design. If your ladder violates the coverage rule (slots × spread < ~20%), the outer rungs become unreachable in normal volatility, auto re-anchor never triggers, and you've effectively built a fixed-range grid bot in WaveRunner clothing. Anchor-scale doesn't save you from a bad configuration. Past performance is not indicative of future results, and only deploy capital you can afford to have at risk.

The design difference, in one sentence

Most grid bots assume the market will come back. WaveRunner assumes it might not, and shrinks risk plus repositions when it doesn't.

The full mechanic — coverage rule, daily report, an example BTC/USDT configuration — lives on the WaveRunner page. If you'd rather try it on your own backtest, you can start a free 7-day trial and run it against the rest of the HaasOnline platform alongside any other strategy.

Set the rules. Let the framework run them. Catch the waves.