Build Protocol-Owned Liquidity on Uniswap v3

Summary

Supply $1,500,000 USD worth of BPRO (~170,000 BPRO) to a single-sided range order on the BPRO/ETH Uniswap v3 pool. Visor Finance will manage that range order as it converts to ~50/50 BPRO/ETH. Upon conversion, Visor will widen the liquidity range and manage protocol-owned BPRO/ETH liquidity to optimize for slippage, yield, and availability of liquidity.

This will allow B Protocol to:

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

I believe this is the most efficient, cost-effective way to build BPRO liquidity and protocol-owned liquidity at this point in time. This approach is particularly useful for BPRO liquidity due to the simple fact that liquidity can be provided 100% in the form of BPRO.

Abstract

This proposal aims to provide liquidity and generate yield on BPRO tokens provided by B Protocol using Visor Finance 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 (https://gammastrategies.org), which is a research organization funded by Visor.

The strategy to be employed is to place a single-sided range order from one tick above the current price tick to 25% above the current price tick. As the current price of ETH/BPRO moves into the range, the position will gradually convert to ETH. Once a 50/50 ratio of ETH to BPRO is reached, the position will be rebalanced over a +/- 50% range and managed according to the strategies developed by Gamma Strategies.

Motivation

Base motivation for this strategy is to build BPRO 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% BPRO or 100% ETH. This proposal is suggesting a single-sided range order of 100% BPRO position above the current price tick. As buy orders push the current price into the range, BPRO is converted to ETH while also earning trading fees at the same time. The single sided range order of BPRO above the current price tick has the additional benefit of lowering buyside slippage for BPRO 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 BPRO were to decline relative to ETH or if ETH were to rise in relation to BPRO. However, in the worst case scenario, B Protocol would remain at status quo with a 100% BPRO position.

Why protocol-owned liquidity?

  • Control over your own liquidity: B Protocol need not rely on external liquidity providers who can be mercenary and have interests at odds with the protocol. Additionally, B Protocol can ensure that liquidity is centered around the current price while also being able to control slippage for buy orders by placing more BPRO 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 B Protocol.

Specification

B Protocol will supply $1,500,000 USD of BPRO to the Visor position manager contract called the Hypervisor (hypervisor/Hypervisor.sol at master · VisorFinance/hypervisor · GitHub) , which will mint fungible ERC-20 LP tokens to a whitelisted address provided by B Protocol.
Only the whitelisted address provided by B Protocol will have the right to deposit / withdraw assets to and from the Hypervisors. The position manager contract has the right to a few managerial functions which are to set price ranges, set range orders, collect fees, rebalance, and mint/burn LP tokens to the whitelisted address. Therefore, the Hypervisor contract is non-custodial in that only the provided whitelisted address may deposit / withdraw assets into and out of the contract.

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.

In terms of the placement of liquidity on Uniswap v3, $1,500,000 USD worth of BPRO tokens will be placed 1 tick above the current price tick to 25% above the current price tick. Assuming the price of ETH remains constant, the 50/50 ratio of BPRO being converted to ETH will occur at approximately $9.75 price of BPRO. At that point, the position will be rebalanced over a wider range of +/- 50% range.

In terms of slippage, the current slippage at the time of writing this proposal is 8.75% for a 10 ETH buy order. The initial set up of $1.5M BPRO placed in the concentrated 25% range order, will incur 0.5949% slippage on a 10 ETH buy order, due to the concentration of a large amount of BPRO right above the current price tick. After the rebalance upon 50/50 ratio, the buyside slippage for a 10 ETH order will be approximately ~2.86%*. However, all of these approximations are subject to change based on the characteristics of external liquidity and the price of ETH relative to BPRO. See and toggle calculations here: BPRO Calculations - Google Sheets

Temperature Check Poll

Supply $1,500,000 USD of BPRO to the BPRO-WETH pool on Uniswap v3 as a single-sided range order and have Visor Finance manage the position?

  • Agree with the proposal as is
  • Agree but wish it was more aggressive in terms of BPRO supplied
  • Agree but wish it was less aggressive in terms of BPRO supplied
  • Disagree

0 voters

EDIT:

Given the community’s thoughts that 1.5M USD of BPRO is too much, I’ve run the simulation with 750K USD of BPRO which is around ~100K of BPRO. In this simulation, we’d have 2.68% slippage for a 5 ETH purchase, which is a little more than 1/2 the current slippage on Uniswap right now of 5.02%

image

image

Supply $750,000 USD or ~100k of BPRO to the BPRO-WETH pool on Uniswap v3 as a single-sided range order and have Visor Finance manage the position?

  • Yes
  • No
  • Still too aggressive

0 voters

2 Likes

Thanks for this contribution @BP333. A couple of thoughts.

  • I was kind of surprised it would still be ~3.3% slippage for 10ETH, and this is great info. At first I though it might be too much BPRO allocation (and maybe that might be the community sentiment), but if you say half the BPRO allocation, I’m guessing that would make the slippage quite intolerable for 10ETH?
  • I’m no LP and impermanent loss expert, but can ANYTHING be said about impermanent/permanent loss when applying these strategies? I’m afraid there are too many variables in terms of fees accrued vs price movement, but still, not having the capacity to process this myself I’d love to hear any input you have.
  • Do you have any experiences you draw on from other projects using this that could act as an example, although clearly YMMW?
3 Likes

Thanks @TragedyStruck . I’ll go ahead and answer your questions below.

There’s a couple different considerations here. I made a slight error in calculating the 3.3% slippage, which I corrected above in an edit. I was using the original BPRO price instead of what the BPRO price would be once a 50/50 allocation was obtained. Once I centered around that price, the slippage would be around 2.86% for a 10ETH trade, which is a bit more palatable.

If you change the BPRO liquidity to $750K USD, it would lower slippage upon a 50/50 ratio to 5.77% for a 10 ETH trade. This is still quite a big improvement over the slippage for a Uni v2 pool which is over 9%. Also another thing to consider is that there is currently around $400K of liquidity in the Uni v2 pool. Once the Uni v3 pool is supplied with more liquidity most of the trades will get routed through Uni v3, incentivizing the Uni v2 LPs to come join the Uni v3 pool. So there could be a positive feedback loop by adding more liquidity to the Uni v3 pool so that the Uni auto router routes more trades to v3.

image

Assuming 750K in initial liquidity, for a 1 ETH trade, the slippage would reduce down to 0.57%, and it’s currently at 1.27% for the Uni v2 pool.
image

The current slippage is limiting the number of people willing to buy large purchases of BPRO. If you look at the average swap price over the last week, it is about 1 ETH, which is quite small. Reducing this slippage could very well increase the buy volume and help distribute BPRO amongst more holders.

  • I’m no LP and impermanent loss expert, but can ANYTHING be said about impermanent/permanent loss when applying these strategies? I’m afraid there are too many variables in terms of fees accrued vs price movement, but still, not having the capacity to process this myself I’d love to hear any input you have.

Impermanent loss is always a risk when LP-ing, and the potential for impermanent loss can be greater in v3 when the ranges are not managed accordingly. The general principle is that the wider the ranges, the less impermanent loss you’ll suffer from price divergence, but the less in fees you will incur.
The way Uni v3 works is that once the BPRO price moves up against ETH, the LP is selling BPRO for ETH, so your position is more exposed to ETH. The narrower the range, the quicker you are selling BPRO for ETH, which can incur greater IL when the price of BPRO rips to the upside. The same is true for when BPRO falls against ETH, you become fully exposed to the downside of BPRO as your position is selling ETH for BPRO.

In the specific case here, impermanent loss will only be compared against a 100% BPRO position because that was what was originally provided. The greatest impermanent loss will be suffered when BPRO rises against ETH because you’ll have less exposure to that upside. However, once you are in position and eventually get to a 50/50 ratio, you will likely benefit from downward shocks in BPRO as the price of ETH will somewhat mitigate the full brunt of the downward price action in BPRO. However, if the range order does not hit, you’re left with the status quo because you still have a 100% BPRO position.

Over time, the fees will likely make up for that impermanent loss. In our experience, less IL is suffered with correlated asset pairs such as BPRO-ETH than in uncorrelated asset pairs like ETH-Stable because the two assets tend to move together.

A +/- 50% range is a rather conservative range to mitigate against this impermanent loss. We will also automate the rebalances as the price sways one way in one direction too much or another to ensure we stay within range.

Do you have any experiences you draw on from other projects using this that could act as an example, although clearly YMMW?

Yes, our first treasury management client was TracerDAO, which was in a similar position to B Protocol and had around 800K in liquidity just in SushiSwap. On 10/8, we allocated $1 million in both TCR & ETH liquidity to the Uni v3 pool on Mainnet. Within one week, the average buy volume and average buy size increased due to the lowered slippage on Uni v3. Additionally, around a $1 million in additional public liquidity joined our pool given that we were taking all the volume away from SushiSwap, which was that positive feedback loop I was talking about earlier.

image
Source: Visor Before & After Stats - Google Sheets

1 Like

While I think that working towards protocol owned liquidity is a good idea, I do think the amount of BPRO suggested for seeding liquidity is too high, especially given the depressed price of BPRO. I also believe that while poor liquidity can be an impediment to people buying into the token, the main problem is that there is currently no value capture by the token and very little awareness of the project and it’s value among the crypto community.

So yes, I think this is a good first step (albeit somewhat aggressive in terms of BPRO allocated), but the main focus needs to be on awareness and, especially, designing solid tokenomics around BPRO. I know that’s not the focus of this thread, but I wanted to note that since ultimately the goal is to get more adoption and awareness of B.protocol and BPRO.

2 Likes

Thanks for the feedback! After giving it some thought, the average purchase price on Uniswap has been around 1 ETH purchase. I think lowering slippage for 2 ETH buys to around 1% would be a marked improvement.

I’ve run the simulation cutting the amount of liquidity in half by $750,000 for around ~100,000 BPRO. You may find this to be more palatable. See the edited post above.

1 Like

100k BPRO sounds better to me. One quibble I have is that you should be modeling current slippage using an aggregator that splits the purchase between uniV2 and uniV3. That lowers the slippage by quite a bit, and anyone looking to buy a significant amount of BPRO would be using an aggregator.

1 Like

Is it worth increasing the trading fee and include that in model suggest by @GTRminator ?

Thanks for the comment. I agree with you. These DEX aggregators look for the lowest slippage routes and currently that venue is mostly Uni v2. By lowering slippage on Uni v3, we’d be able to achieve a better outcome for trades on a DEX aggregator and likely 100% of the trade will be routed through Uni v3. This tends to also have a positive feedback loop in that the Uni v2 LPs will likely come join the Uni v3 pool if not enough volume is routed their way.

As of right now, given that Uni v2 and Uni v3 are the majority of the trading route, using the Uni auto router will roughly give you same slippage. The only difference is the 12% that’s being routed through Kyber.

Paraswap

1inch

1 Like

I just performed the analysis on the 1% fee tier. Also, I added the currently mismanaged liquidity in the Uni v3 1% fee tier as an addition in cell F60. This seemed to lower slippage a bit.

Given that it won’t take much to outcompete the Uni v2 pool, we might as well take the 1% fee tier as it would not only lower slippage but be a way for B Protocol to scale its liquidity quicker through higher fees.

3 Likes

Will give everyone a week from today for discussion and then put the most recent proposal up for vote :slight_smile:

2 Likes

If buying with a slippage is characterized as a paid premium, then does it make sense that with a 1% fee tier that premium ends up in the DAO pool?
Personally, I think a premium is needed in the case of a protocol with a smaller mcap (I won’t go into details) so I don’t see a problem there, but since DAO will provide liquidity (assumption) I think 1% will bring higher value to DAO pool.

1 Like

Currently, slippage is defined as overall price impact from the supply / demand and the fee tier. So it’s the percentage difference from the value paid vs. value received.

I agree that concentrating the liquidity with the amount of liquidity provided in this proposal (100K BPRO) would be a double benefit in lowering slippage below what it currently is on Uni v2, and it would accrue more value to the DAO pool.

1 Like

Just a quick Q. Is there any easy way for the community to follow the profitability of the position once established?

1 Like

Yes, we do have Zapper integration so the community would be able to keep track of the LP position on Zapper.

1 Like

I think that Visor active management is currently the best solution for providing liquidity, because:

  • compared to the previous farming reward program DAO is in complete control over the LP strategy and is able to generate revenue
  • the costs of rebalance and reinvestment of fees are covered
  • community members and current BPRO LPs are given the opportunity to concentrate capital and cooperate in creating a strategy, which can improve community engagement and increase the DAO members base
  • BPRO token will get a “capital efficiency” feature. Given the trend in the DeFi sector this feature is quite important (I see also by questions on Discord)

@BP333 , just few questions:

  • Whitelisted addresses can add and remove liquidity from vault? By this is meant participation within the same vault or management of DAO funds? Can every BPRO holder (on permissioned way) put funds under the same vault with given strategy or individuals need to create separate vaults?
  • in single-side LP case, does vault has starting 50:50 ratio or it will be created by market in way that Visor provide initial ETH supply as needed (on demand)?
1 Like

Completely agree with your assessment, and I also believe that protocol-owned liquidity is where many DeFi protocols are headed.

  • Whitelisted addresses can add and remove liquidity from vault? By this is meant participation within the same vault or management of DAO funds? Can every BPRO holder (on permissioned way) put funds under the same vault with given strategy or individuals need to create separate vaults?

We can think of this sequentially. For the purposes of this proposal, only the DAO’s address would be whitelisted. We can later introduce another proposal to open up the deposits to the public if the DAO so desires, or Visor can open up a separate vault where public LPs can deposit into the BPRO-ETH position. There are risks, albeit small, of opening up deposits to the public in the same vault where the DAO owns the majority of the position. By only whitelisting the DAO’s address, we are virtually eliminating any possible flashloan arbitrage risk from a third party. This risk is mitigated once the DAO’s position represents less of the overall position in the Uniswap v3 pool. I believe the positive feedback loop from absorbing volume away from the current Uniswap v2 pool would attract enough liquidity to the Uni v3 pool at this point in time.

  • in single-side LP case, does vault has starting 50:50 ratio or it will be created by market in way that Visor provide initial ETH supply as needed (on demand)?

The vault will start with 100% BPRO position. We have automation parameters which will reset and rebalance the positions once a 50/50 allocation is reached. But this is the most risk-free way to enter into position because if the position does not convert to ETH, you’re left with the status quo with 100% BPRO. And if the position does convert to ETH, you’ve sold BPRO above the current price tick which had no downward effect on price and you’re making fees along the way and providing lower slippage to those who wish to purchase larger quantities of BPRO.

Before putting this up for a vote -
Did anyone look at Olympus Pro as an alternative LP reward?

I see many of the big protocols are partnering with them and it seems like a great way to incentivize LPs to keep their liquidity.

From their docs:

Olympus Pro is the new industry-standard platform to help protocols acquire their own liquidity. Protocols no longer need to pay out high incentives to rent liquidity, while also guaranteeing the permanence of liquidity to facilitate transactions.

Olympus Pro solves for liquidity problems by providing bonds-as-a-service for a small fee.

Instead of staking their LP (liquidity provider) tokens for farming rewards in a pool 2, users can exchange their LP tokens for the protocol’s governance tokens at a discounted rate. This is done through a process called Bonding . As the protocol never sells these LP tokens, the liquidity is effectively locked within its treasury.

We might want to explore this before going forward.

3 Likes

Funny you mentioned that. We’re also partnering with Olympus as well and working towards building an adaptor to bond v3 positions. But there are a lot of synergies to Visor & Olympus Pro because Olympus can be used to buy back protocol owned liquidity and Visor can manage that on a capital efficient DEX like Uni v3.

The main comparison would be (1) Use Olympus Pro to buy back BPRO-ETH liquidity from Uni v2 or (2) Provide BPRO in a single-sided range order on Uni v3 above the current price tick.

Olympus Pro
Advantages:

  1. Be able to source BPRO-ETH Uni v2 LP tokens by paying strictly BPRO tokens. This is essentially like doing an OTC deal with the public for ETH
  2. The 7-day vesting period makes it so that the bonder has to take the token risk of holding the token and makes it less likely that the bonder will simply dump the tokens at a discount
  3. You have the marketing angle of being associated with Olympus DAO which has a big community

Disadvantages:

  1. At the end of the day, you still have Uni v2 LP tokens which will not fix the current slippage issues unless those LP tokens were to be redeemed and managed on Uni v3
  2. You end up paying a premium for ETH with BPRO because you are exchanging discounted BPRO for BPRO-ETH LP tokens, while also paying a 3.3% service charge on the total bonded value
  3. There is still risk of the bonder dumping the tokens to realize the arbitrage, but the 7-day vesting period can mitigate that risk

Single-sided Liquidity on Uni v3
Advantages

  1. You do not need the other side in ETH to supply initial buyside liquidity and by supplying BPRO single-sided, you are essentially selling the BPRO above the current price tick for ETH and incentivizing buying by lowering buyside slippage
  2. Once the price tick moves into the single-sided limit range, you are also earning fees while also sourcing ETH at a premium to the original price tick
  3. You are directly providing liquidity on Uni v3 which is a lot more capital efficient than Uni v2
  4. If the single-sided limit position were not to hit, you are no worse off than simply having held the BPRO tokens in treasury.

Disadvantages:

  1. If the BPRO price were to keep declining in value, the liquidity range would need to be adjusted downward and would likely take more time to generate volume (although Visor will pay for all rebalancing / readjustment fees)
  2. Lack of initial sellside liquidity - Given that the position will not contain any ETH but simply BPRO, sellside liquidity and slippage will remain what it currently is on Uni v2
4 Likes

Can the amount of BPROs increased at a later point as well? Kinda a like a staged plan to add liquidity? I have the feeling that you could provide too much liquidity very easily that way.

In general I believe the bpro amount should still be lower. I agree though liquidity is prohibitive currently but i also think price is imo suppressed and express that ppl do not want to sell their tokens (f.e. there signifcantly more liquidity in univ3 at higher ratios than at current lvls)

I am a little conservative on that point - and generally i prefer uniswapv2 liquidity over v3 one because its simplicity

Thanks for providing the comparision. I must confess i havent deeply dig into olympus model. I have the feeling the transaction fees are a much higher barrier currently than liquidity. Whats visors position/plans on other chains?

The hypervisor is completely noncustodial in that the DAO can withdraw or deposit more liquidity at any given time. The current liquidity was based on what it would take to beat the slippage that is currently on Uniswap v2 so that volume can get routed to the Uniswap v3 pool and the positive feedback loop can exist where you have Uni v2 LPs migrating to Uni v3. If there is too much liquidity at a certain point, then the DAO can withdraw at any time.

In terms of other chains, we’re actively managing on Uniswap v3. So in the near term, it’s Arbitrum and Optimism. In the medium term, we’re integrating with Sushi Trident’s concentrated liquidity AMM, so that will open up a lot of chains for us. Probably Polygon, Fantom, and Avalanche based on where the volume is.