Trading

DEX Grid Bot (range-bound accumulation)

10 min read

What it is

Places a ladder of buy orders BELOW current price and sell orders ABOVE it across CoW/Velora protocol orderbooks. Each filled buy creates a sell order at the next level up; each filled sell creates a buy at the next level down. Captures range-bound volatility by buying low + selling high repeatedly. Pre-signed refill pool means new orders fire gas-free as the grid cycles.

How to think about it

Grid bots are the workhorses of sideways markets. The DEX version uses CoW or Velora to fill each level — no native DEX grid is possible because Uniswap V3 has no built-in order ladder. Sign N-1 pairs of orders upfront (where N is your grid count), the pool holds them, solvers fill as price crosses each level. When the pool runs low, click Refill to sign more cycles. Auto-cancels at expiry or when range breaks for too long.

Step-by-step

  1. Pick a Quick-Start template or configure manually

    Templates: Tight (±5% range, 10 levels, 14 days), Standard (±10%, 5 levels, 30 days), Wide (±20%, 7 levels, 30 days), Long-term (±30%, 5 levels, 90 days). Template fills low/high/grid count/expiry automatically based on the live price.

  2. Use the live price quick-set buttons

    Live price badge shows current USD price for blue-chip tokens. Click ±5%, ±10%, or ±20% to auto-set low and high prices around current. For tokens we don't have a CoinGecko mapping for, enter low/high manually.

  3. Pick protocol + chain + tokens + total amount

    CoW (Eth/Arb/Base) or Velora (adds Polygon/BSC/Optimism/Avalanche). Spend (sell) = usually a stable like USDC. Buy = the asset you want to grid. Total amount = total spend split across all buy levels.

  4. Set grid count (3-20 levels)

    More levels = denser grid = more fills but smaller per-fill profit. Fewer levels = sparser grid = bigger per-fill profit but more time waiting between fills. The page shows "N levels → N-1 pairs → 2(N-1) signatures" — that's how many MetaMask popups you sign.

  5. Pick expiry duration

    7 / 14 / 30 / 90 days. Grid auto-cancels at expiry. Range-bound markets can last weeks — 30 days is a reasonable default. Longer expiry = more time for the grid to capture range, but more risk if the asset breaks out of range.

  6. Sign approval + N-1 cycles × 2 signatures

    First-time spend-token: ERC-20 approval (one-time gas). Then 2(N-1) EIP-712 signatures back-to-back. 5-level grid = 8 popups. 10-level grid = 18 popups. Be ready.

  7. Watch the grid run + Refill when pool runs low

    Status badge: Armed (running). The Pool Capacity Bar shows remaining pre-signed orders out of the original total. Healthy (>30% remaining, green), Warning (≤30%, amber), Critical (≤10%, red). When low, click Refill to sign +1 cycle per level worth of extra orders.

  8. Pause, Resume, or Cancel

    Pause = stops pulling new pre-signed orders from the pool, existing in-flight orders may still fill. Resume = wakes back up. Cancel = ends the bot, cancels all unfilled pool entries. Already-filled orders cannot be undone.

Tips & pitfalls

  • Grids are for RANGE-BOUND markets. If the asset trends strongly in one direction, the grid loses — buy-side fills accumulate at higher and higher levels (in a downtrend) or sells fire at lower and lower (in an uptrend) until the range breaks.
  • Tight template (±5%) is the highest-frequency grid but most fragile — small range means small profit per round-trip. Standard (±10%) is the safer default for ETH/BTC sideways periods.
  • Long-term template (±30%, 90 days) is for assets you BELIEVE will eventually return to the middle of the range. Stablecoin/blue-chip pairs are honest candidates. Memecoins are NOT — they can stay broken out for the entire 90 days.
  • Pool Capacity bar is your refill alarm. Critical (red, ≤10%) means the next few fills will drain the pool — refill BEFORE you hit zero, otherwise the bot effectively stops at next fill until you sign more.
  • Each Refill click adds +1 cycle per level — i.e., 1 extra buy + 1 extra sell at each level. Signatures = 2 × grid count. Refill is gas-free signing, same UX as the initial setup.
  • 2(N-1) initial signature count vs (Iceberg algo orders) 16 popups: a 10-level grid = 18 popups. Pace yourself; if MetaMask freezes mid-sign, the page recovers from the last successful signature.
  • Approval gas-paid ONCE per spend-token + protocol. Shared with DCA / Smart Trade / Stop Orders / Limit Orders / Algo Orders. If you have used USDC + CoW + Base for any other DEX feature, no new approval needed.
  • Range break risk: if price drops below your low or rises above your high, the grid is no longer profitable — buys can't fire (no levels below) or sells can't fire (no levels above). Wait for price to re-enter range OR Cancel and rebuild.