Seil Finance Docs
Comment on page

Range Order

Powered by the concentrated liquidity algorithm, users can easily achieve a variety of advanced trading strategies that are not possible in AMM DEXes.
By creating a liquidity position with a price range to one side of the spot price, LPs can provide their liquidity with a single-sided asset. This allows liquidity providers to simulate limit orders, which are very common in these order book markets or CEX. The difference is that a limit order is created with a specific predetermined buy or sell price and the order can be filled at some point in the future, whereas a single-sided liquidity position order in the Concentrated Liquidity Protocol comes with a price range. When the spot price enters the preset range of the position, continuous token swap is activated in the position. When the price has fully crossed the price range of the position, all the original assets are exchanged for the target assets, which can be withdrawn by the LP to close the order. This type of order mode is called a range order.
LPs who place range orders are liquidity providers rather than swappers, so they are considered makers who earn fees when a range order is executed. By creating rational liquidity positions, LPs can easily buy on dips and sell on rallies like professional traders while earning transaction fees.

Order Types Supported by Range Orders

Although range order trading is very similar to limit order trading in the order book market, there are certain differences due to the underlying mechanism of the Concentrated Liquidity Protocol. The types of orders that can be supported by the Concentrated Liquidity Range Order include Take-Profit Orders and Buy-Limit Orders.

Take Profit Orders

For example, the current price of a BTC-USDC pool is 20,000 USDC/BTC and you want to sell your BTC for USDC when the BTC price reaches 21,000 USDC/BTC. This can be done by placing Range Orders because the price space above the current price is fully denominated in the higher token in a concentrated pool of liquidity. You can open a position at a narrow price range such as 21,000-21,001 USDC/BTC and add your BTC to the pool. Your order will be filled if the price continues to rise and crosses your liquidity position.

Buy Limit Orders

For example, the current price of the BTC-USDC pool is 20,000 USDC/BTC. You predict that the price of BTC will rebound if it falls to 19,000, so you plan to buy some BTC with USDC at the price of 19,000. This can be achieved by using Range Orders because the space below the current price is denominated in the lower valued asset, USDC. You can simply create a position with a price range of 19,000-19,001 USDC/BTC. Your BTCs will all be converted to USDCs when the spot price falls and crosses your position's price range.

Position Management

One thing to note is that in order to ensure that your Range Order is fully filled, you will need to withdraw your position funds in time after your position range has been crossed, in case the spot price re-enters the price range. This can be done manually or by using a third party position manager protocol that incorporates Seil's smart contract.
It is also up to liquidity providers to decide how to set the price range of a range order position. Setting a wider price interval may help you earn more transaction fees if price fluctuations within your position range are intense, while you will have to bear a higher risk that your order will not be filled in full if the price reserves before crossing your full range.