JulSwap V2

JulSwap
7 min readJun 10, 2021

JulSwap V2 is a partial fork of Uniswap with additional advantages like fee reduction for JulD holders!

Main Feature for the concentrated Liquidity for Liquidity Providers in JulSwap v2:

Let’s take a look at the Julswap v2 DAI/USDC pool. Since we are talking about dollar-pegged stablecoins, most of the swaps occur in the $0.99-$1.01 price range. This means that LPs can expect to see most of the volume and the fees to come from that price range. This happens because nobody is willing to trade outside of that range as they can get a better deal on some other exchange. Also, margin traders would almost instantly use the opportunity to reap the profits from the price discrepancy, thus automatically moving the price into the appropriate price range.

However, liquidity is distributed evenly along an x*y=k price curve, with assets reserved for all prices between zero and infinity. This means that most of the liquidity is sitting unused instead of rewarding LPs for taking the risk of impermanent loss. Furthermore, trades often involve high slippage as liquidity is spread thinly across all price ranges.

In the case of JulSwap V2, LPs don’t just put their assets in liquidity pools and spread them evenly along the price curve. Instead, they get to choose the price range over which they want to allocate their assets and earn from the fees when the price is within the selected price range.

Let’s explain this concept of concentrated liquidity a little bit better through an example. Imagine that you put 1 ETH and 2,000 DAI in the ETH/DAI liquidity pool, and you choose to put it in the $1,950-$2,050 price range. What you are saying is the following:

“Take these assets and put them in the pool. Whenever someone buys ETH for any amount of DAI between 1,950–2,050 DAI, I get the fees from that swap. If ETH price is outside that range, I don’t get the fees.”

Higher Capital Efficiency for JulSwap V2 LPs:

Now, why would you say that you don’t want to earn from fees? Well, for the stablecoin pools such as DAI/USDC, there is a minimal chance that the price would go out of the $0.99-$1.01 price range, even though your assets would be evenly distributed along the price curve in v1. That means only a tiny percentage of the total amount of funds is earning you any fees. In JulSwap V2, you deposit 100% of your assets in that $0.99-$1.01 range. This way, it’s not only a fraction of the assets you deposited that is making returns for you but rather the whole of your assets.

When it comes to non-stablecoin pools, such as the already mentioned ETH/DAI pool, you can’t predict the price range as accurately as you can for the DAI/USDC pool. However, you can select a wider price range to account for ETH price fluctuations — such as $1,950-$2,050. You wouldn’t constantly be earning fees, but when you do, you would gain much much more than you would in V2 because 100% of your assets are being utilized, not just a small portion. That’s how

concentrated liquidity makes higher capital efficiency possible.

What is the logic behind higher capital efficiency? Well, let’s say that you had 50,000 DAI and 24.61 ETH and you wanted to deposit them into the ETH/DAI pools. You choose to put it inside the $1,808-$2,215 price range. At the same time, your friend deposited 1,010,282 DAI and 497.35 ETH across the entire price curve. What happens is, even though your friend deposited 20.21x as much capital as you had, both of you get the same amount of fees as long as the ETH/DAI price stays within the $1,808-$2,215 range.

In this case, you had to provide a total of $100,000 while your friend had to provide $2,020,564. This means that your capital is 20.21x more efficient.

This new feature of concentrating liquidity in a custom price will significantly increase market depth and therefore reduce the slippage for JulSwap V2 users.

Users will be able to divide their assets and put them in multiple different price ranges. This will help them account for price fluctuations and allow users to trade against the combined liquidity of all individual curves with no increase in gas cost per liquidity provider. Trading fees collected at a given price range are split pro-rata by LPs proportional to the amount of liquidity they contributed to that range.

Active Liquidity:

As I already mentioned in the previous example, you and your friend would get the same amount of fees as long as the price of ETH stays within the $1,808-$2,215 range. So what happens if it goes beyond that?

In this case, your liquidity becomes inactive i.e. effectively removed from the pool and is no longer earning fees. Your liquidity will be composed entirely of the asset with less value as long as the ETH price stays outside the range you specified or until you decide to update your range to account for the price change.

To cut the long story short, you have three main options. The first one is that you choose multiple price ranges. The second one is to choose one wide price range, settle for lower capital efficiency but reduce the risk of price fluctuations. And the third one is to pick one narrow range, get super-high capital efficiency but also expose yourself to a much higher risk.

Range Orders

This one is somewhat opposite of the active liquidity feature. Better said, this is a brilliant way of using the active liquidity feature.

You will be able to deposit a single token in a price range of your choice, above or below the current price. So, if the market price enters into your specified range, you will be selling that token for another along a smooth curve while earning swap fees in the process. Quite nifty, isn’t it? Let’s examine how you can do that.

Let’s say that the price of DAI is below 1.001 USDC. In this case, you could provide $1M worth of DAI to the pool in the 1.001–1.002 price range. As soon as DAI goes back above 1.001 USDC, you start earning fees. Once it trades above 1.002, all of the liquidity you provided converts into USDC. At this point, you can withdraw your funds and get 1M USDC plus all the fees you earned.

This was just an example of the DAI/USDC pool. You can use this same method to get ETH from the ETH/DAI pool when ETH goes below a specific price. And you will be earning fees onl the way.

Start Blockchain = Binance Smart Chain

Non-Fungible Liquidity

Since LPs can provide liquidity in custom price ranges, their liquidity positions in JulSwap V2 aren’t fungible anymore. ETH/DAI positions at $1,950-$2,050 and $1,900-$2,100 aren’t the same. The first one comes with higher capital efficiency but also more risk and possibility of inactive liquidity.

That’s why LP positions in JulSwap V2 can’t be represented as BEP20 tokens in the core protocol. Instead, LP positions will be represented by non-fungible BEP721 tokens (NFTs). This may be the first actually good use-case of NFTs…

Flexible Fees:

As I had already mentioned, JulSwap V1 had only flat 0.30% fees, of which 90% goes to the LPs. JulSwap V2 introduced a 0.05% protocol fee which could be turned on/off.

JulSwap V2 brings community governed flexibility through multiple fee tiers:

  • 0.05% — expected for stablecoin pools like DAI/USDC
  • 0.30% — for standard non-correlated pools like ETH/DAI
  • 1.00% — for exotic non-correlated pairs

Fee Deduction for JulD holders:

If you hold JulD in your Wallet while you are trading on JulSwap, you pay less fee.

100 JulD = 2.5% less

1,000 JulD = 5% less

10,000 JulD = 10% less

100,000 JulD = 25% less

1,000,000 JulD = 50% less

If you pay before 0.3% Fee, then you pay by holding 100,000 JulD just 0.24% Fee. Minimum Fee 0.05% Protocol Fee.

Web: https://justliquidity.org

Telegram: https://t.me/justliquidity

--

--