How to use CoW Swap’s Surplus Capturing Limit Orders
Step by step guide
Limit orders are orders to buy or sell tokens at a specified price or better. They can be useful for traders who want to control the price at which they buy or sell a token.
A trader who wants to buy a token but is worried that its price might go up can place a buy limit order at a lower price to ensure they get the token at the price they want. Similarly, a trader who wants to sell a token but is worried that its price might go down can place a sell limit order at a higher price to ensure they get a better price for the token.
CoW Swap’s surplus-capturing limit orders have multiple benefits, including:
- Unlimited order management → traders can manage orders without paying fees, meaning they can set and cancel limit orders as much as they’d like without paying for gas (like they do on other exchanges)
- Unlimited order placement → traders can use the same crypto balance to place many orders at once that can stay active for up to a year; CoW Protocol fills orders as they hit their limit prices, and stops filling them once a wallet runs out of sell tokens (when that happens, traders can top up their wallets to keep the orders flowing)
- Unlimited order surplus → traders get the price at execution time, so if a price falls below the trigger price, the upside belongs to them and not the order taker. Additionally, any price improvement generated by solvers finding more-optimal execution paths (i.e. finding a Coincidence of Wants) belongs to the trader
How to read the surplus-capturing limit order CoW Swap UI:
To place a limit order on CoW Swap, you need to do the following:
Go to swap.cow.fi and connect your wallet.
Once your wallet is connected, there are two ways you can access limit orders:
- Next to the word “Swap” in the center module, you can see the word “Limit” → clicking it opens limit orders
- On the top-left corner of the page, next to the CoW Swap logo, you can see the word “Trade” → clicking it opens a dropdown menu that lets you choose between the swap and the limit orders interface
Once you have selected limit orders, you will see the following introductory screen:
After you click “Unlock limit orders”, you will be taken to the limit orders interface.
On the left side of this screen, you can see the order box where you are able to input the limit order parameters of your choosing. On the right, you can see a panel that shows your open orders and order history.
In order to place a limit order, you need to select the token and input the amount you’d like to sell. Do this within the “You sell” field. (The gray number directly below the amount you enter corresponds to the approximate value in US dollars.)
Next, use the “Price per [TOKEN]” field to enter the price at which you’d like your surplus capturing limit order to be executed. You can click the double arrow icon to flip between seeing the price in your sell or buy token (which is useful if you want to limit buy instead of limit sell, or vice versa).
The Expiry field is for you to set the validity period — in other words, how long you want your order to stay open before it’s canceled.
Lastly, use the “You receive at least” field to select the token you want to buy and input the amount of tokens you want to get back.
How to place a surplus-capturing limit order in CoW Swap’s UI:
Let’s give an example. Say you want to place a limit order for 1 WETH for 16000 COW:
- In the “You Sell” field we select the token we want to sell → WETH
- In the “You receive at least” we select the token we want to buy → COW
- In the “Price per [TOKEN]” field we input the limit price we want to have → 16000 COW
- In the “Expiry” field we input our order deadline → 7 days
If this is your first time swapping this token, the first step is to give approval for CoW Swap to use your WETH.
Once you click on the “Allow CoW Swap to use your WETH” button, a modal should appear showing the status of this step. At the same time, your wallet should prompt you with a confirmation screen asking you to execute the approval transaction.
Once you click on “Confirm”, you’ll need to wait a few seconds for your approval to be confirmed on the blockchain. When that happens, the status popup will disappear.
Now you’re ready to place the limit order. For that, you just need to to click on the “Review Limit order” button.
Once you have done so, a final confirmation modal will appear with a summary of the limit order details you are about to place.
If you’re sure you want to proceed, click the “Confirm” button. Afterwards, a popup should appear showing the status of the order submission message. Additionally, the wallet you are using should prompt you to sign the limit order submission. For more information on signed messages, click here.
After you sign the message, the limit order you placed is submitted to CoW Protocol and will await execution once the parameters you defined are met.
You can now see the order you placed on both the “Open orders” and “Order history” tabs on the top right of the main limit orders screen.
Remember, placing and canceling limit orders is completely free on CoW Protocol. This is notably not the case for all DEXs and DEX aggregators — which often charge for placing orders, canceling orders, or both. CoW Protocol does, however, take a fee when your order is executed. For more questions regarding limit orders, please refer to the FAQ section in the website.
We wish you much surplus and happy limit order trading!
About CoW DAO
CoW DAO is an open organization of developers, traders, market makers, and other community members focused on building, maintaining, and advancing fair and decentralized trading systems — principally through its work on CoW Protocol.
CoW Protocol is a DEX aggregation protocol that powers a network of independent solvers which, in turn, enable trustless and efficient peer-to-peer trading. Leveraging batch auctions uniquely positions CoW Protocol as native trading infrastructure for discrete-time settlement layers like Ethereum and enables fair and accessible trading to its users.
🌐 Website | 🐦 Twitter | 📒 Documentation | 💬 Discord | 📊 Analytics | 📸 Snapshot