Build Protocol-Owned IDLE/ETH Concentrated Liquidity

Authors: @bjp333 (Visor Finance)

Summary

The purpose of this post is to gauge community sentiment around building protocol-owned liquidity on Uniswap v3.

The mechanics of doing so would be the following:

Supply 133,000 IDLE (approx. $500K) to a single-sided range order on the IDLE/ETH Uniswap v3 pool. Visor Finance will manage that range order and rebalance according to strategies developed by its research organization Gamma Strategies to optimize for slippage, yield, and availability of liquidity.

This will allow Idle Finance to:

  • Increase the IDLE liquidity on the most capital efficient IDLE/ETH pool
  • Build protocol-owned IDLE liquidity
  • Generate swap fee income for the treasury

This approach is particularly useful for IDLE liquidity due to the simple fact that liquidity can be provided 100% in the form of IDLE.

Abstract

This proposal aims to provide liquidity and generate yield on IDLE tokens provided by Idle Finance using Visor to initiate and manage the liquidity provisioning process. Concentrated liquidity provisioning on Uniswap v3 involves managing price ranges and manually re-investing earned fees. The advantages to using Visor Finance include active management of price ranges and reinvestment of earned fees. Price range adjustments and fee re-investments are done according to top-of-the-line strategies developed by Gamma Strategies, which is a research organization funded by Visor. Visor Finance takes 10% of the Uniswap swap fees, which get distributed to VISR stakers. 90% of the swap fees will be automatically re-invested into the LP position upon each rebalance. Visor Finance will cover all gas fees for rebalancing positions and re-investing earned fees.

The strategy to be employed is to place a single-sided range order from one tick above the current price tick. As the price of ETH/IDLE moves into the range, the position will gradually convert to ETH. When appropriate, the position will be rebalanced and managed according to the strategies developed by Gamma Strategies.

See backtesting report here: Backtesting Report See and toggle calculations here to see how slippage and token composition can change in a variety of scenarios: IDLE Calculations - Google Sheets

Motivation

Base motivation for this strategy is to build IDLE DEX liquidity on a capital efficient DEX like Uniswap v3.

Why Uniswap v3?

  • Capital Efficiency: By concentrating the liquidity around the current price tick, you have the ability to lower slippage on less liquidity than on Uni v2 or Sushi. For example, by concentrating liquidity around a +/-50% band, as opposed to providing liquidity at all prices, you can potentially achieve a 4x capital efficiency. What that means is with approximately 24% of the capital of Uni v2, you can achieve the same slippage on Uni v3.
  • Higher Fees: By concentrating liquidity within a tighter band, the liquidity provider can potentially earn a higher fee multiple than on Uni v2 or Sushi. Additionally, the added TVL to the Uni v3 pool will absorb more volume as slippage is lowered for traders.
  • Ability to use the Uniswap v3 Price Oracle: The performance of TWAP oracles has improved significantly. It is faster and cheaper to check the recent prices of assets. If requested, all the recent TWAPs calculated within the last nine days can be checked
  • Ability to set single-sided range orders: Unlike Uni v2 and Sushi where a 50/50 ratio of assets are needed to provide liquidity, on Uni v3, you may set liquidity ranges consisting of 100% IDLE or 100% ETH. This proposal is suggesting a single-sided range order of 100% IDLE position above the current price tick. As buy orders push the current price into the range, IDLE is converted to ETH while also earning trading fees at the same time. The single sided range order of IDLE above the current price tick has the additional benefit of lowering buyside slippage for IDLE purchasers.

Why a Single-side Range Order?

  • Advantages: The main benefits are that it takes all the advantages of the capital efficiency of Uniswap v3 as mentioned earlier, it does not involve market selling tokens at a discount to obtain the other side of the pair in ETH, and it significantly lowers buyside slippage for purchasers.
  • Disadvantages: There can potentially be a delay if the range order is not “bought into” especially if the price of IDLE were to decline relative to ETH or if ETH were to rise in relation to IDLE. However, in the worst case scenario, Idle Finance would remain at status quo with a 100% IDLE position.

Why protocol-owned liquidity?

  • Control over your own liquidity: Idle Finance need not rely on external liquidity providers who can be mercenary and have interests at odds with the protocol. Additionally, Idle Finance can ensure that liquidity is centered around the current price while also being able to control slippage for buy orders by placing more IDLE in a single-sided range order above the current price tick.
  • Fee revenue: The fee revenues from providing liquidity on Uniswap v3 can be used to scale the total liquidity with the growth of the platform. Alternatively, the fees can be used as an additional source of revenue to fund the operations of Idle Finance.

What coverage options are there?

  • Visor Finance is listed on Nexus Mutual for protocol coverage and currently there is enough coverage for 3.2K ETH or 15M DAI
  • Events covered include: contract bugs, economic attacks (including oracle failures), and governance attacks

Due Diligence items:

  • Visor Finance has been audited by Certik.
  • A bug bounty is also live on Immunefi
  • For a list of our current partners for Active Liquidity Management, please see here: docs.visor.finance/learn/partners/liquidity

Specification

  1. Idle Finance will supply 133,000 IDLE to the Visor position manager contract called the Hypervisor, which will mint fungible ERC-20 LP tokens to a whitelisted address provided by Idle Finance.
  2. Visor Finance and Gamma Strategies will utilize their strategies to manage the price ranges with the express goal of lowering slippage and generating yield
9 Likes

Thanks @bjp333 for providing a detailed proposal!

I’ve gladly seen your proposals in Fei forum and mStable forum, it’s great to see that DeFi protocols are using Visor for active liquidity management.

Currently, Idle DAO owns approximately $700,000 in liquidity allocated in Balancer pool. The pool is composed of 200,000 $IDLE + 15 ETH.

That pool generates very low volume ($2,000-10,000/day) and it’s not used by Paraswap due to very bad slippage (more than 40% for a $50,000 swap). At the moment those funds are not generating value and utility to Idle DAO, and they could be used on new applications like Visor.

With this proposal, Idle DAO could route Balancer funds with the following distribution:

  • 133,000 IDLE in Visor
  • 67,000 back to the Ecosystem fund for future use cases (or Visor refill)
  • 15 ETH allocated to Treasury League multisig, to bootstrap tranches and new products

Now, let’s deep dive into your forum post.

That’s a very fair deal. Especially on actively rebalanced positions, the costs might be a pain point, and having it subsidized by Visor is a strong added value. The performance fee is aligned with that subsidy.

In our case and using your simulator, a 133,000 IDLE deployment would generate 4-5% slippage on $50,000 swap on UNI v3. The same operation would generate a 12% slippage on Sushi (Ethereum) and 7% via Paraswap. The overall onboarding barrier and market condition would be improved a lot.

Good point. Some protocols (e.g. Fuse) use UNI v3 TWAP as the main oracle. Currently, Idle has deployed $100,000 there, but more liquidity would strengthen the resiliency of that oracle against manipulation attacks.

Correct, and the drawback works also on the other side (when IDLE rises in relation to ETH). There is the risk to remain only with ETH, with no more IDLE to cover upper positions.
It’s important that your algorithm is able to act fast during such events and avoid “ETH-only conditions”. If/when that would happen, Idle DAO would have to refill the position with more IDLE taken from Ecosystem Funds. While the DAO would own ETH funds, the refill needs to represent a very remote event (thanks to rebalancer responsiveness, that shifts IDLE position to cover the new “+100%” range).

If you can provide more information about these scenarios, it would be helpful.

Recently, Rekt published a blog post illustrating that, according to a recent study, around 50% of UNI V3 LPs are losing money compared to if they just held their assets.
The post also says “after 6 months of use, it appears that the increased complexity (and risk) have left half of LPs losing out under the new system.”

In your opinion, why Visor would be better than Bancor single-sided liquidity with IL protection or Olympus Pro bonding mechanism (thanks @unicorn for sharing it)?

6 Likes

@bjp333 Thank you for the proposal. Big fan of Idle Finance “owning its Liquidity” and super excited to see if we can iron out the remaining details:

As per @Davide simulations, 133k $IDLE would generate 4-5% slippage on 50K swap uni-v3. Although this would be a big improvement for retail users when compared with the present situation, it’s not enough for bigger wallets. With L1 gas fees at current levels, it’s fair to assume that Ethereum will remain a rich ppl territory for a while, so institutional/whales can not be put away by poor execution (liquidity).

By not providing enough liquidity for whales/institutions the Idle DAO will promote OTC deals.
Big OTC deals don’t generate any uni v3 fees (that go to the Idle Treasury) and don’t promote market making/price discovery.

Therefore, I propose that the Treasury League deploys 399k $IDLE on Visor, instead of 133k.

This goes the “extra mile” on the path of “owning its liquidity” and Treasury diversification.

Since at this point, there is not enough $IDLE on Balancer, I would vote for supplying the missing amount from the Ecosystem fund.
Another option, if it generates easier consensus, is instead of 399k $IDLE, deploying at least 200k $IDLE (133k+67k).

10% is fair.
But does Visor have any B2B program for partners or are there any rewards for integrators?
Tokemak and Olympus do… correct me if I am wrong on this one sers. :sweat_smile:
IF Visor does not have any rewards for integrators now, can Idle still be eligible retroactively?

“own your Liquidity” options:

  • Visor
  • Olympus pro
  • Tokemak

An opinion on the 3 options is very welcomed @bjp333

4 Likes

Correct, and the drawback works also on the other side (when IDLE rises in relation to ETH). There is the risk to remain only with ETH, with no more IDLE to cover upper positions.
It’s important that your algorithm is able to act fast during such events and avoid “ETH-only conditions”. If/when that would happen, Idle DAO would have to refill the position with more IDLE taken from Ecosystem Funds. While the DAO would own ETH funds, the refill needs to represent a very remote event (thanks to rebalancer responsiveness, that shifts IDLE position to cover the new “+100%” range).

With regards to this point, the automation script will trigger before the position reaches the upper end of the range, in which you will be 100% in ETH. The automation triggers are designed to rebalance so that your position always remains in range.

Recently, Rekt published a blog post illustrating that, according to a recent study, around 50% of UNI V3 LPs are losing money compared to if they just held their assets.
The post also says “after 6 months of use, it appears that the increased complexity (and risk) have left half of LPs losing out under the new system.”

Interestingly enough I was on Bancor’s Twitter spaces yesterday to discuss what I liked and disliked about their research paper. One thing is that we were excluded from their analysis because they only analyzed wallets that contained the Uni v3 NFT positions. We interact directly with the Uni v3 core contracts and bypass the need to create and burn NFT positions.

Additionally, it is a bit misleading to say that 50% of Uni v3 LPs are “losing money” without defining what losing money means. What they meant to say was that 50% of LPs on Uniswap v3 don’t generate enough fee income to offset impermanent loss. However, that is not to say that they lose money in absolute terms, but would not have as much as if they had HODL’d. The data also did not account for the many LPs who are actually traders as opposed to what you would traditionally consider an LP. For example, an LP who bought ETH at $2000 and wanted to sell at $3000 would set a single-sided range order at $2800-$3000 in the ETH-USDC pool, and once the price went above $3000, he would withdraw all in USDC. If the price when he withdrew his liquidity was $3500, he would have been deemed to have “lost money” by the research article. Therefore, without consideration of the multitude of people who use Uni v3 for range orders, there is likely some exaggeration in the conclusion.

However, I will say that what the research article does well is delve into the complexities of providing liquidity on Uni v3 and the fact that impermanent loss can often be greater. We mitigate those losses with our automation scripts to make sure that the position is always in range.

In your opinion, why Visor would be better than [Bancor single-sided liquidity with IL protection] or [Olympus Pro bonding mechanism] (thanks @unicorn for sharing it)?

Bancor doesn’t utilize concentrated liquidity, so it would involve more liquidity to get to the requisite amount of slippage. Often times around 2x-3x more capital would be needed to get to the same amount of slippage. For that reason, Uni v3 has the most number of trades getting routed to it despite having significantly lower TVL than the constant product AMMs.

With regards to Olympus Pro, the advantages are that you can source liquidity by offering IDLE tokens at a discount in order to source double-sided liquidity. Essentially, you’re selling discounted IDLE for IDLE-WETH. However, it involves selling those tokens at a discount in addition to paying the 3.3% bonding fee. There is an arbitrage effect that can potentially lead to bonders selling the discounted tokens to realize the arb, but that is mitigated by having a bonding period of certain length.

With Visor, you’re essentially providing more IDLE single sided above the current price tick which doesn’t have any downward price action, while also sourcing ETH from upward price action. You also maintain the effects of concentrated liquidity. Having said that, we are also partnering with OHM to bond Visor-managed Uni v3 positions. That could be an option down the road; however, at this point in time, it may be more efficient and cheaper (by avoiding bonding fees and paying of discounted tokens) to go with the option provided in this proposal.

4 Likes

“own your Liquidity” options:

  • Visor
  • Olympus pro
  • Tokemak

With regards to these three options. I mentioned the first two in my previous comments. With regards to Tokemak, I think that can be a discussion later down the road because they just conducted their CoRE2 event, which Visor was also a part of. There still isn’t a clear timeline on when CoRE3 will begin. Additionally, we are synergistic with Tokemak and Olympus. If we do start the Visor-managed IDLE-ETH pool, and Idle does happen to secure a reactor in CoRE 3, we would be able to direct Tokemak liquidity to the Visor-managed Uni v3 pool.

Additionally, as I had mentioned in my previous comment, we have partnered with Olympus Pro as well to bond Visor-managed v3 positions. So if more liquidity is desired down the road, Idle would have the option of simply providing more single-sided liquidity directly to Visor, or bonding dual-sided IDLE-ETH liquidity in exchange for discounted IDLE tokens and a 3.3% bonding fee.

I would say that in terms of sequence, having the Visor managed IDLE-WETH pool first make sense and if more liquidity were to be desired, then both Olympus Pro and Tokemak can be very synergistic add-ons to the existing pool.

4 Likes

Hi @bjp333, this post remained paused for a while, as we are aware that an issue arose on your side.

The first thing that I want to say is that we feel it, and we hope that you recovered for a brilliant future. We would like to hear your point of view regarding this event, what was the issue, and how you mitigated it.

From an external perspective, Visor TVL didn’t suffer from the event.

Given the circumstances, if Idle Governance decides to proceed with Visor deployment, the Nexus Mutual coverage becomes crucial to preserve the deployed value.
With that extra feature, Idle could comfortably move forward in using Visor while maintaining an adequate fund resiliency.

The Visor’s premium on Nexus Mutual costs 9.57% per year. In order to cover a $500k deployment, the annualized cost is $48k.
That amount is extremely expensive, and not sustainable from the DAO’s perspective.

Would Visor be able to subsidize that cost?

1 Like

Hi Davide,

Thanks for following up here, and happy to explain all the details. You’re right in that none of our TVL was affected and the exploit opportunity was largely mitigated due to pre-existing safeguards.

There was an incident on Thanksgiving day in which one of our public position’s was attacked. $600k was exploited due to the extremely abnormal liquidity composition of both the managed position and the overall pair. The issue has been fully resolved. Please see our official statement here: uniswapv3-risk-mitigation/Notes on Uniswap v3 Risk Mitigation.md at main · GammaStrategies/uniswapv3-risk-mitigation · GitHub

The exploit opportunity was largely mitigated due to pre-existing safeguards such as floating deposit caps and total global caps on the overall pool size that we’ve implemented. However, this wasn’t enough in completely safeguarding the public hypervisors.

Our solution has been the following:

  • Enforcing dual-sided deposits at the time of depositing assets. This will have the added benefit of significantly increasing the amount that can be deposited at one time.
  • Utilizing a TWAP oracle as a check against volatility. Essentially, the LP tokens will still be minted at the spot price, but a prerequisite to depositing would be that the variance between spot and TWAP price is a low enough amount. When spot price has been manipulated, the variance between TWAP and spot would be large enough to prohibit any deposits into the hypervisor.

Security is a top concern of ours and will always take precedence over other matters. We had intentionally capped deposits, global pool size, and TVL since the inception of our hypervisors out of an abundance of caution. These safety measures were extremely significant in mitigating the effects of price manipulation exploits, and we’re moving ahead with the additional safeguards to further protect our public hypervisors and increase the amount that can be deposited into them safely.

Having said that, the treasury management / private hypervisors like the one mentioned in this proposal are immune to that attack because it involves external third parties to deposit into the vault. Because each of our private hypervisors are whitelisted to just the treasury address, there is no risk of exploit in this manner.

Thanks again for bringing this post back to light, and happy to answer any other questions.

2 Likes