When providing liquidity on Uniswap v3, liquidity providers can create a Range Order.
Range orders are created by creating a liquidity position with highly concentrated liquidity outside of the current price range for a pool.
A range order will only be active if the current price enters the chosen price range.
This is similar to a single-sided liquidity position. The difference is the intention to remove the position once it has been converted to the other token.
Until the price of the tokens goes into the price range that you set, the position earns no fees. If the price enters into the set price range, the position will start earning fees.
As the price continues to increase or decrease, the position will be converted to the other token.
When the price gets to the middle of the price range, the position will be split evenly between the two tokens’ USD values. When the price goes beyond the price range, the position will be 100% in one of the two tokens.
Once the price goes beyond the price range set, liquidity can be removed. This will complete the range order.
Removing liquidity should happen shortly after the price goes out of the range. Removing liquidity too early will result in an incomplete position. If liquidity is removed too late, the price may go back into range.
Below are two examples of a range order.
Price Range above the current price:
Price Range below current price:
Learn more about range orders in the Uniswap Developer Docs here.