A 1inch limit order is an order placed into a centralized 1inch database through the 1inch UI. While creating a limit order, you may set a specific price target and terms of the trade. These types of orders are not sent to any one specific user; they can be filled by anyone, including the 1inch Aggregation Protocol.
Obtaining access to the database externally is possible via the 1inch Limit Order API.
When the market price matches the price set in the limit order, a taker can fill it, covering the gas cost in addition to the trade's value. It is important to note that the 1inch Limit Order Protocol does not charge any on top fees. This lack of additional fees makes this Protocol more gas efficient than the Legacy 0x Limit Orders. The 1inch Limit Order Protocol supports a broad range of token standards such as ERC20/BEP20, ERC721, ERC1155. Other token standards could be supported via external extension.
To place a limit order on 1inch, perform the following steps:
Go to https://app.1inch.io/ and switch to the tab to ‘Limit’;
Connect your wallet, using this guide;
In the section ‘You pay’, select the asset you want to sell and enter the amount.
***Placing a limit order with an insufficient balance has become possible on the 1inch Limit Order Protocol! The limit order will remain valid for the set period of time. It will fill partially, depending on the amount of funds held in the wallet at the time market conditions are favorable.
***Also remember: You can always set the maximum amount of a specific asset available in your wallet.
In the ‘You receive’ field, type or select the asset you would like to buy from the drop-down menu, and enter the amount desired. (The grey number directly above the amount corresponds to approximate value in US dollars.)
In the 'Price' field, enter the price at which you want your order to be executed. Then set the validity period in the ‘Expires in’ field;
Selling DAI for WETH
‘You pay’ = 1 DAI
Price: 1 DAI = 0.0003 WETH
‘You Receive’ = 0.0003
Expires in: 7 days
In this case it will look like this:
Certainly, by placing a limit order you aim to get more WETH for your DAI than the current market can offer you. Keeping this in mind, you'll have to adjust the price of the 'You Pay' asset, specifically, increase it. For this example, you could increase the price to 0.0004 WETH per 1DAI. Please, note that the amount of WETH will increase in accordance with the rate 1 WETH = 2500 DAI.
Your limit order will look like this:
‘You pay’ = 1 DAI
Price: 1 DAI = 0.0004 WETH
‘You Receive’ = 0.0004 (When 'You Pay' amount is entered, the 'You Receive' amount is calculated automatically.)
Expires in: 7 days
Once you've set the target price for your DAI, you are good to go.
***Please note: Below the "Rate" field, there is "Inverse Rate" which adds convenience when calculating asset conversion rates. Also, know that limit orders work with ERC20 standard tokens, meaning that instead of ETH you'll have to use WETH.
Click on 'Give permission to use XXX' and confirm the transaction in your wallet (this is only an approval, and requires a small gas fee);
Click on ‘Review Limit Order’, verify the order, and sign it in your wallet;
The order will now appear on the UI in the ‘Active Orders’ section.
If you no longer want to keep this order, use the cancel option in the right-hand part of your order (red x symbol). The option ‘Cancel All Orders’ will allow you to cancel all active orders in one go.
*** Please note: Manually cancelling a limit order does incur a gas fee when the transaction is signed.
If you happened to have active limit orders placed before the 1inch Limit Order Protocol was released, you can keep track of them under the tab "Legacy Active Orders" (0x limit orders).
What if my limit order never gets filled?
There are several factors that can cause a limit order to not be filled.
Here are a few:
Low volume for the pair you wish to trade. This is what usually causes a limit order to remain unfulfilled. With insufficient liquidity, an order can sit for a long time before being taken by a buyer or seller on the other side of the trade. This problem also increases with the size of the order. If your order isn't being fulfilled, a possible solution is to reduce its size.
There are insufficient funds in the wallet to fulfill the order. If a limit order is placed and the funds are moved, it will remain unfulfilled.
The limit price may have never been reached.
The order might be too small. With ever-increasing gas fees on the Ethereum network, a small order might not be profitable for another trader to accept it.
The order might not have been profitable for arbitrage. This can also happen often with smaller orders, where arbitrage bots will instead seek out orders with more profitability.
Why can't I view my limit order?
The transactions might not have been signed before placing ;
The order was already executed (this can be checked in your 1inch order history);
The page needs to be refreshed.