A quick overview of limit orders on DexGuru
What is a limit order? A limit order has a target price and an expiration date. It is a request to buy or sell a token at a certain price that you can specify. When you place a limit order using DexGuru UI, it is sent to a centralized 1inch database. When you set a limit price and an expiration date, keep in mind that anyone can fetch your limit order using 1inch REST API endpoint to perform trade. Note that your limit order can sometimes be only partially filled.
What kind of assets can I use when submitting a limit order? Why can’t I use native ETH for limit orders? Only ERC-20 tokens are supported when you request a limit order on DexGuru. For the Ethereum network, this implies that you can use WETH but not ETH when submitting a limit order. Native ETH has to be wrapped before you can use it for limit orders. You can sell ETH for WETH on DexGuru. The same is true for Polygon network. You can't request limit orders using native MATIC, you have to use WMATIC.
Why do I need to approve the token in my wallet before submitting my limit order? Before submitting your limit order on DexGuru, you need to approve token spending from your wallet. This is done to protect your wallet from being accessed by any smart contract. This approval is an on-chain transaction, so you will have to pay gas fees. Only one approval is required per token, per wallet. However, since we use two different protocols for market orders vs. limit orders, you need to approve token sending for market and limit orders separately.
What networks are supported? Currently, you can request limit orders on Ethereum, BSC, Polygon, Optimism, Arbitrum, and Avalanche networks.
Is there a gas fee for limit orders? No, if your limit order gets filled or automatically expires, you do not pay gas fees. The taker of the order will have to consider gas fees, personal profit margin, and order size before completing your order. However, you pay gas fees when approving new token spending in your wallet or canceling a limit order before it expires.
What does the percentage in the status column mean? Limit orders can be partially filled. For example, a taker of your order might only fill 50% of your limit order before it expires.
Can I cancel my limit order? Yes, you can manually cancel a limit order before it expires. However, it will require an on-chain transaction, and you will be charged a gas fee.
Why did my order never get filled? There are several reasons for this. The target price might not have been reached. Secondly, there might be no taker for your order because it is not profitable for them or simply because of a low trading volume. Thirdly, you have insufficient funds in your wallet.
Confirm Limit Order
Always pay attention to "You receive" at Confirm limit order screen! It is what you will get if your order is filled. When you click a green Confirm button, you agree to swap amount IN(You pay) for amount OUT(You receive), within Expiration time.
You can't use Limit orders with a price below the current market price. If you set a price lower, it will simply mean that you are willing to sell tokens for less than they cost on the market. Most likely, this order will execute immediately with a loss of $-value for you.