Earn Fees for Trading on Uniswap v3: How To Make Limit Orders

More than selecting the best price, limit orders don't cost any fees, they actually earn fees themselves.

Shutterstock cover by Ivan Babydov

Key Takeaways

  • Limit orders are a type of trade where users set a certain price point at which they choose to exchange one token for another.
  • Due to the new concentrated liquidity feature on Uniswap v3, users can, with a little know-how, execute these limit orders on the decentralized exchange.
  • Not only do limit orders avoid fees, they actually earn fees for the trader.

Share this article

One of the best-kept secrets of DeFi is a precise technique that allows traders to earn fees on their trade rather than pay them. To do so, head to Uniswap’s latest version to learn how to make limit orders.

Concentrated Liquidity

Uniswap is consistently at the forefront of innovation for decentralized exchanges (DEX). The project’s second version was one of the catalysts for the DeFi sector’s explosion in 2020. On April 1st, Uniswap’s v3 introduced a revolutionary concept to the Automated Market Maker system (AMM), concentrated liquidity. To understand how it works, let’s see how AMMs usually function.

Users provide liquidity to a pool in equal proportions. Once another user trades with the pool, he adds one of the two tokens contained by the liquidity pool slightly changing the price, as there is now more of a token than the other. The decentralized exchange, however, will always consider that both assets in the pool are in proportions of equal value. The result? The price of the sold asset will drop slightly while the price of the other one will slightly increase.

When a user trades with a liquidity pool, the pool adjusts its price and the user receives the other token. But there is a third actor in these trades, the liquidity provider, or as he’s called in traditional finance: the market maker.

In traditional finance, market makers are huge firms like Citadel. Market makers offer assets at two prices, one for sellers and one for buyers. It profits from the spread between these two numbers. The real business of market makers is not price; it’s volume. The higher the volume, the higher the profit.

In DeFi, anyone can be a market maker and provide liquidity. On Uniswap v3, users can even decide to provide liquidity to a certain part of the price curve, which allows them to earn more fees as long as the price of the asset stays in the range they selected. For example, setting a range price for ETH/USDC between 1500-2500USDC/ETH will result in more fees than providing liquidity to the entire range as long as the price of ETH stays between 1500 and 2500USDC.

Visualization of the concentrated liquidity feature from the Uniswap v3 whitepaper.
Visualization of the concentrated liquidity feature from the Uniswap v3 whitepaper.

Limit Orders on Decentralized Exchanges

There is a catch to providing liquidity in a certain range. If the price of ETH drops below 1500USDC, the aforementioned user will only be left with ETH. This is not a bug, this is how automated market making is intended. If you provide liquidity to a certain range, the protocol will use it to exchange one of your assets with the other until the minimum price at which you’ve decided to provide liquidity – at which point all of the stronger asset will have been exchanged with the weaker one. More details on this interaction can be found in this Uniswap v3 explainer.

You can use this mechanism to create limit orders on Uniswap v3. While market orders immediately exchange your funds with the pool, limit orders waits until a certain price is reached to swap your tokens.

This has three major advantages. First, swapping assets on Uniswap can occur a fee that can be anywhere between 0.05% and 1%, which you don’t have to pay if you’re providing liquidity. Second, you can earn fees if your liquidity is used by others to trade with. Third, you can choose the exact price where you’d like to exchange your tokens.

To do so, you need to head to Uniswap’s v3 and add liquidity to a pool. Then, you need to select a price above the current price of the pool and supply the asset you’d like to exchange at that higher price.

Example of a limit order on Uniswap v3.

As you can see, the current market price of Ethereum is 2363USDC on Uniswap. Because I’ve set the range of liquidity provision above the current price, Uniswap v3 will automatically transform my ETH into USDC once we reach the minimum price I’ve set, 2401USDC. This is a complex manoeuver, but it can help you get much better prices on your DeFi trades, and it is completely safe. Happy trading!

Disclaimer: The author held ETH at the time of writing.

Share this article