Range Order

A range order is a concentrated liquidity position on Uniswap V3 (or compatible AMMs) where an LP sets their price range entirely above or below the current market price — meaning the position starts as 100% one token with zero exposure to the other — and as the market price moves into and through the specified range, the position automatically and continuously converts the deposited token into the paired token, mimicking the behavior of a limit order without requiring an order book. Unlike a traditional limit order which executes at a single price, a range order converts gradually as price travels through the specified range — so if you set a range of $3,000–$3,100 ETH/USDC with USDC, your deposit converts from all USDC to all ETH as ETH’s price moves from $3,000 to $3,100. Range orders are one of the most powerful and underutilized features of Uniswap V3’s concentrated liquidity design.


How Range Orders Work

Standard LP vs. Range Order

Standard Uniswap V3 LP position (price inside range):

  • Current ETH price: $3,000
  • Set range: $2,800–$3,200
  • Deposit: ETH + USDC (both required because current price is inside the range)
  • Position earns fees while price stays in range
  • Both assets change composition as price moves

Range order (price outside range):

  • Current ETH price: $3,000
  • Set range: $3,200–$3,400 (ABOVE current price)
  • Deposit: USDC only (no ETH needed — current price is below the range)
  • Position earns zero fees until price enters range
  • Acts as a “buy ETH at $3,200–$3,400” limit order

Range Order Mechanics

Buy Range Order (Below Current Price)

“`

Current ETH price: $3,000

Range set: $2,600–$2,800 (below current price)

Deposit: ETH only

What happens:

  • Price at $3,000: position is all ETH (below range)
  • Price drops to $2,800: position starts converting ETH → USDC
  • Price drops through $2,700: half converted
  • Price reaches $2,600: position is all USDC (range exited below)

Result: Effectively sold ETH for USDC at $2,600–$2,800 average

“`

Wait — this is backwards. In a standard V3 pool:

  • When price is above the range, the LP position is 100% in the lower-value token (the one that was bought by the pool)
  • When price is below the range, the position is 100% in the higher-value token

Buy ETH range order:

  • Set range BELOW current price with USDC
  • As price falls into and through the range, USDC is progressively converted to ETH
  • At range bottom, all USDC has become ETH at average range price

Sell ETH range order:

  • Set range ABOVE current price with ETH
  • As price rises into and through the range, ETH is progressively converted to USDC
  • At range top, all ETH has become USDC at average range price

Range Order vs. Limit Order

Feature Range Order (V3) Limit Order (Order Book)
Execution price Average of range width Single price point
Fee earning Yes — earns LP fees while price traverses range No
Price overshoot risk If price gaps past range, no execution at range prices May not fill if price gaps
Reversal risk If price reverses inside range, partial conversion Order stays open
Gas to open One transaction One transaction
Gas to close One transaction (remove liquidity) One transaction
Complexity Medium Low

The key advantage of a range order vs. a limit order: fee income during traversal. As price moves through your range, your position is actively providing liquidity and earning the pool’s trade fees. A traditional limit order earns nothing while waiting.

The key disadvantage: price execution is spread over the range width rather than a single point. A range of $3,000–$3,100 gives you an average entry of ~$3,050, not $3,000.


Practical Range Order Strategies

Take-Profit Range Order

  • Deposit ETH into V3 with range $3,400–$3,600
  • As price rises from $3,400 to $3,600, ETH is sold for USDC automatically
  • Result: ETH sold at an average of ~$3,500 while earning LP fees during traversal
  • Remove liquidity once range is fully exited (all USDC)

DCA Buy Range Order

  • Deposit USDC into V3 with range $2,600–$3,000
  • As price falls through the range, USDC converts to ETH incrementally
  • Acts as a dollar-cost average buy within the specified band
  • Remove liquidity once range exited (all ETH)

Tight Range for Near-Limit-Order

  • Range of $3,000–$3,010 is essentially a limit order at $3,005 ± $5
  • Narrower range = more precise execution but = less fee earning and = higher impermanent loss if price reverses

Risks and Considerations

Reversal Inside Range

  • Wait for price to continue in the original direction
  • Accept the partial conversion and remove liquidity
  • This is the key difference from a traditional limit order, which stays open unchanged

Range Must Be Monitored

Concentrated Impermanent Loss


Ecosystem Support

Several protocols have built range order UX on top of raw Uniswap V3:

  • Uniswap V3 Interface: Native UI shows when a position is “out of range” (effectively a range order)
  • Arrakis Finance: Automates range order management including re-setting ranges after traversal
  • Gamma Strategies: Actively managed V3 positions including range order strategies
  • DeFi Saver: Range order automation tools for V3 and V4

See Also