All Collections
Guides
1inch v4 Limit Orders
1inch v4 Limit Orders

Everything you need to know about swapping with 1inch Network's Limit Order Protocol

Matt avatar
Written by Matt
Updated over a week ago

In this article we will cover:


Benefits of 1inch v4 Limit Orders


1inch Network's v4 Limit Order protocol presents a unified order structure that combines traditional limit orders and high-performance RFQ orders, making it more efficient and easier to use.

This provides new benefits, such as:

  • Improved gas efficiency, with upgraded limit orders and RFQ-like orders being 14% and 3% more gas-efficient, respectively.

  • Full support for the permit2 feature, streamlining trades by eliminating redundant token approval steps and costs for users who have traded the same token in other DeFi projects.

  • Enhanced support for a wide range of order types, dynamic exchange rates, conditional orders, and the execution of arbitrary code, made possible through 1inch's innovative extension mechanism.

  • Overall, v4 focuses on reducing transaction costs, improving security, and offering advanced trading capabilities, significantly enhancing the user experience in decentralized finance trading.

A 1inch limit order is an order placed into an offchain 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 found on the developer portal.

You can find the swagger here, for all of the following chains:

  • Ethereum mainnet

  • Binance Chain

  • Polygon

  • Optimism

  • Arbitrum

  • Fantom

  • Gnosis chain

  • Avalanche

  • Klayton

  • Aurora

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 other external providers.

The 1inch Limit Order Protocol supports a broad range of token standards such as ERC20/BEP20, ERC721, and ERC1155. Other token standards could be supported via external extension.

***Please note: A 1inch limit order does not reserve funds when placed, therefore, no tokens will be returned upon order cancellation or expiration. If the funds are moved after the order is placed, the order will not fill (you will see an error notification in on the page also).


How to create a limit order:

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.

***Limit orders will always fill at the price specified be careful when entering the token in the 'You receive' field.

***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;

For example:

  • 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:

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.

  • 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);

    ***Note: if using a permit 712 token, no gas fee is required to approve. You can simply sign the approval and swap all in one step, for free!

  • 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).

***Please note: If you create a limit order and then move the funds out of the wallet before it is filled, you will see an "insufficient funds" notification. This means that the order will not fill, due to the to funds not being present in the wallet.


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:

  • The exact limit order price target might not have been reached. The charts displayed on the 1inch UI aggregate price data from multiple sources. At times, there can be a difference between the displayed chart price and the on-chain execution price.

  • The order might not have been profitable for a taker. Takers must consider the order's size, gas fees, and personal profit margin before deciding to fill your order. Also, takers may only fill part of the order, then seek out other orders with more profitability.

  • It is a rare token which has low trading volume. There may currently not be a taker on the other side to fill the order.

  • 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 active, but unfilled.

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.

Questions, comments, concerns?

Feel free to reach out to us in the live support chat!

Did this answer your question?