Skip to main content
Range orders let you create limit-order-style liquidity positions using Orca’s concentrated liquidity pools. They can be used to buy or sell as price moves through your selected range. While the position is active, it may earn trading fees from swaps that use your liquidity.
Range orders are not the same as traditional limit orders. You set a price range, not a single execution price, and the position is not complete until you withdraw.

How Range Orders Work

Range orders use single-sided concentrated liquidity positions placed outside the current pool price. By creating a single-sided position outside the current price, you can:
  • Create a buy range below the current price
  • Create a sell range above the current price
  • Potentially earn fees from swaps that use your liquidity as price moves through your range

Buy Range Order

A buy range order uses the quote token, such as USDC, below the current price. If price moves down through your selected range, your quote token gradually converts into the target token.

Sell Range Order

A sell range order uses the base token, such as SOL, above the current price. If price moves up through your selected range, your base token gradually converts into the quote token.

Range Orders vs Traditional Limit Orders

Tax treatment varies by jurisdiction. Consult a tax professional for your specific situation.

Limitations to Understand

Range orders are not identical to traditional limit orders. Key differences include:
  • You must withdraw to complete the position — If you do not withdraw after conversion, price can move back through your range and reverse some or all of the conversion.
  • You set a range, not an exact price — Conversion happens across the selected price range.
  • Conversion can be gradual — Your position may partially convert before becoming fully one-sided.
  • Monitoring may be required — You may need to review the position and withdraw once the selected range has been crossed.
If you leave a converted range order open, price can move back through the range and change the token balance again.

Creating a Buy Range Order

This setup is commonly used when placing a buy range below the current pool price. Example scenario: SOL is at 160andyouwanttocreateabuyrangearound160 and you want to create a buy range around 150.

Step 1: Navigate to the pool

Go to orca.so/pools and find the pool, such as SOL/USDC.

Step 2: Connect your wallet

Click Connect Wallet if your wallet is not already connected.

Step 3: Open position creation

Click the pool to open the Liquidity Terminal, then click New Position.

Step 4: Select Custom range

Choose Custom range mode to set your own price bounds.

Step 5: Set your buy range below current price

Set both the minimum and maximum prices below the current pool price. Example range:
  • Min: $150.00
  • Max: $150.02
A tighter range gives a narrower conversion range. A wider range allows conversion across a broader price range and may interact with more swaps, but the average conversion price may be less precise.

Step 6: Deposit only the quote token

Enter the amount of USDC, or other quote token, you want to deposit. Because the range is below the current price, you will deposit only the quote token.

Step 7: Review and create position

Before depositing, review:
  • The pool
  • Token mint addresses
  • Selected price range
  • Deposit amount
  • Current pool price
  • Slippage setting
  • Wallet transaction details
Click Deposit and approve the transaction in your wallet.

Step 8: Monitor your position

When price moves through your range, your quote token gradually converts into the target token.

Step 9: Withdraw to finalize

Once price has moved through your range, withdraw to finalize the converted token balance. If you leave the position open, price can move back through the range and reverse some or all of the conversion.

Creating a Sell Range Order

This setup is commonly used when placing a sell range above the current pool price. Example scenario: SOL is at 160andyouwanttocreateasellrangearound160 and you want to create a sell range around 170.

Step 1: Navigate to the pool

Go to orca.so/pools and find the pool, such as SOL/USDC.

Step 2: Connect your wallet

Click Connect Wallet if your wallet is not already connected.

Step 3: Open position creation

Click the pool to open the Liquidity Terminal, then click New Position.

Step 4: Select Custom range

Choose Custom range mode to set your own price bounds.

Step 5: Set your sell range above current price

Set both the minimum and maximum prices above the current pool price. Example range:
  • Min: $170.00
  • Max: $170.02
A tighter range gives a narrower conversion range. A wider range allows conversion across a broader price range and may interact with more swaps, but the average conversion price may be less precise.

Step 6: Deposit only the base token

Enter the amount of SOL, or other base token, you want to deposit. Because the range is above the current price, you will deposit only the base token.

Step 7: Review and create position

Before depositing, review:
  • The pool
  • Token mint addresses
  • Selected price range
  • Deposit amount
  • Current pool price
  • Slippage setting
  • Wallet transaction details
Click Deposit and approve the transaction in your wallet.

Step 8: Monitor your position

When price moves through your range, your base token gradually converts into the quote token.

Step 9: Withdraw to finalize

Once price has moved through your range, withdraw to finalize the converted token balance. If you leave the position open, price can move back through the range and reverse some or all of the conversion.

Tight Range vs Wide Range

Tight range

Possible characteristics:
  • Narrower conversion range
  • More precise range selection
  • May convert more quickly once price moves through the selected range
  • May earn fewer fees if fewer swaps use the liquidity
  • May not convert if price does not move through the selected range

Wide range

Possible characteristics:
  • Broader conversion range
  • Conversion may happen across more price levels
  • May interact with more swaps as price moves through the range
  • Average conversion price may be less precise
  • May take longer to fully convert
Example: Instead of setting a 150.00150.00-150.02 range, you could set a 150150-160 range. If price moves down through that range, the position gradually converts across the range rather than at a single price.

Important Reminders

Verify the pool price

Before depositing, check that the pool price is consistent with wider market prices. Depositing into a mispriced pool can result in immediate loss.

Withdraw after conversion

Range orders are not complete until you withdraw. If the position remains open, price can move back through your range and reverse some or all of the conversion.

Consider using alerts

Set alerts to notify you when your position moves out of range, which may indicate that your range order needs review.

Review withdrawal details

Withdrawals may use a slippage tolerance. Review the quoted withdrawal details before confirming, as final amounts can vary based on pool conditions.

Risks and Limitations

Range orders involve the same risks as concentrated liquidity positions, including:
  • Price movement
  • Impermanent loss or divergence loss
  • Out-of-range positions
  • Partial conversion
  • Slippage
  • Transaction fees and priority fees
  • Smart contract risk
  • Pool price differences from wider market prices
Range orders do not guarantee execution, a specific conversion price, fee earnings, or a specific final token amount.

Next Steps

Position Alerts

Get notified when selected position conditions occur

Understanding Slippage

Learn how slippage settings affect swaps and liquidity actions

Beginner LP Guide

Learn the basics of liquidity provision

Managing Positions

Review and manage your liquidity positions