Limit Orders
Last updated
Last updated
Bluefin's Spot CLMM also supports placing Limit Orders. These orders allow users to buy and sell tokens at specific prices, similar to how they would in a Centralized Exchange.
In traditional Orderbook models, limit orders are placed on the book and get filled once an order on the opposite side matches with it (i.e. Someone is willing to buy/sell the asset at that specific price). However, the way these orders work on Bluefin's CLMM is that a contract call is performed to swap the tokens from the liquidity pool once the price of the pool on the selected aggregator reaches the price that the user has set for the order. Limit Orders on Bluefin will be powered by the 7k aggregator on Sui.
The most relevant implications of this feature are the following:
Users will always receive the amount of tokens they have set for their orders (not including the gas payment). For example if a sell order is placed for 5 SUI at 5 USDC, the user will receive exactly 25 USDC once the order gets triggered and is fully filled.
There is the possibility that the order gets partially filled, in which case the minimum partial fill will be 25% of the order.
Since the orders are triggered based on the actual prices from the aggregator, it's possible that you see your set price get reached on other sources/oracle providers but your order on Bluefin doesn't execute. So always keep in mind to use the prices from the selected aggregator for tracking purposes.
If the order is triggered but during the settlement process the price moves more than your slippage tolerance, then the transaction will fail. However, in this scenario the order will immediately re-attempt to execute if the aggregator price still satisfies the user's set price.
It is still possible in this case that the order doesn't execute if the price abruptly moves in the opposite direction, since it will no longer satisfy the minimum price that the user has set for the order.
You can access this feature going to https://trade.bluefin.io/swap and Selecting "Limit" in the header of the modal. You can view a full tutorial on how to use Limit Orders here.