Uniswap V3 for Treasury Diversification and Liquidity Mining

The ShapeShift treasury primarily holds FOX and, similar to other DAOs, there is much desire to diversify/utilize its assets. Current avenues for treasury diversification involve actively selling or leveraging these governance tokens, typically through a combination of smart contracts and/or OTC agreements.

Uniswap V3 enables an alternative framework for DAO’s to simultaneously diversify their holdings and incentivize liquidity with reward distribution that caters to different risk profiles.

I. Single-Sided Liquidity On Uniswap V3

Uniswap V3 enables single-sided liquidity pooling where Liquidity providers (LPs) can deposit one asset at a price range higher than current price, or the corresponding pool asset at a range lower than current price. As the market fluctuates through and above/below a LP’s range, the provided asset is traded for the one it is pooled against. Fees are only collected when current prices are within the LP position range.


Note by providing an asset to a range above its current price, the position payoff mimics a perpetual covered call where that asset is traded for one it is pooled against (for example, ETH, DAI, or USDC) as its value increases.

II. Implementing Uniswap V3 for DAO Treasury Diversification

Allocating a portion of FOX tokens above their current price range on Uniswap V3 creates a perpetual covered-call payoff for the DAO, where if FOX token price increases, the allocation is automatically rebalanced to the offset pool asset. The offset pool asset is the asset the DAO wishes to diversify to, for example ETH or USDC. Once established, the DAO would only be responsible for ensuring they withdrew liquidity and revenue from trading fees.

Depositing a significant amount of FOX tokens to Uniswap V3 will effectively create a price ceiling. With that in mind, liquidity should be incentivized with rewards, weighting more toward specific ranges that help stabilize liquidity.

Incentivizing liquidity over a certain range could support the DAO’s periodic liquidity withdrawals but requires further investigation and discussion - will the community support a withdrawal of liquidity? Should a portion be reinvested to help continue supporting liquidity?

III. Liquidity Mining and Aligning Incentives
Distributing rewards can support prices and incentivize various participants. I imagine offering two reward pools: a single-staking reward pool that only takes in FOX and a pool for single-sided liquidity providers of the opposite asset on Uniswap V3. This would enable initial airdrop recipients and FOX hodlrs to deposit to the single-staking pool without taking on the current risks of a Uniswap V2 LP. Further, supporters are incentivized to deposit their other assets (ETH, USDC) to the Uniswap V3 pool in exchange for rewards. For example, an LP provides ETH to the FOX/ETH V3 pool at a price range below the current FOX/ETH price, the position acts as a perpetual short put - where if the price drops below the range the position holds 100% FOX. The user earns FOX rewards for providing the liquidity regardless, so if all goes well across the DAO the following outcome is expected:

  • FOX hodlrs deposit FOX in single staking pool to earn more FOX, resulting in reduced FOX liquidity
  • The DAO provides majority of liquidity on Uniswap v3 at price range above current and rewards all LPs of the opposite asset in the pool
  • LPs of the opposite asset on V3 contribute to stabilized liquidity and are rewarded FOX for doing so
  • As ShapeShift succeeds and price appreciates, the DAO can withdraw the assets it wished to allocate toward and LPs can withdraw their original single-sided asset without experiencing impermanent loss associated with Uniswap V2.

I’ve thrown this idea around to several foxes and am excited to share here for an organized discussion!

6 Likes

This is a really cool and novel idea for how the ShapeShift DAO could diversify its treasury, I haven’t seen this done by any other DAO yet but this is a really cool use case for Uniswapv3.

I really like how this would allow the DAO to diversify into ETH and/or USDC without actually causing any sell pressure on the current market price, as well as how it could allow the ShapeShift DAO to offer single sided staking on both the ETH and FOX sides, while primarily focusing those rewards on the type of liquidity it most wants to see.

Very cool concept @albitrage!

It seems the DAO putting up some FOX in a particular range on uniswapv3 is something it could do relatively easily today with no additional tech or work needed, maybe that is a good play to start a proposal for this (simply propose an amount of FOX and range the DAO should put up on uniswapv3).

I really like the idea of the single sided LM rewards as well, my main question there is if we are aware of a smart contract today that exists that can handle this for uniswap v3 or if one would be be developed to support this?

Wow, this is cool. I did not know this is possible. Starting simple, with a proposal to allocate some FOX at a price range above the current price is a great idea, I think. To keep that conversation going, I would suggest a range that is 1-2% higher than the market value at time of LP deposit, and going to 5% above market value at that time. That seems like it could help us diversify pretty quickly.

One thing I’m not sure about is if that exerts some kind of pressure on the token. I see this proposal says that this process will effectively create a price ceiling. Why exactly is that? I’m not denying it, just wanting to understand better.

Is that because one the top of the range is hit, you can no longer trade to the opposite side once the price goes above the range, is that it? If that’s the case, could we monitor things and set a couple different one-sided LP positions so that once one position is passed, there is another to take its place? Or if we would do that, would we be just as well to increase both the range and the amount of LP deposited in a deposit with a higher top-end?

1 Like

I’d look again to @elmutt to provide some info on if there are existing contracts we could easily fork to provide rewards for this scenario. As we’ve stated before, the contract is only one piece - then you need a UI to interact with that staking contract.

I know that @elmutt is currently hard at work on the open source effort, so I’m going to wait until after we have that community call where we intro the open source v2 codebase before asking him about it more.

And if we can move forward with the DAO providing one-sided FOX for now, I think that is a great step forward.

1 Like

Some of the v3 Uni pools have 1.5X or 150% above current market price, that would equate to Fox reaching $1.25.

The red vertical lines drawn in the IL graph is nearer to the range current Fox LP providers are experiencing IL with the v2 contract, not much. I wouldn’t expect there to be some insane increase of valuation until there are coordinated announcements that shapeshift is releasing an app with some of the feature integrations that have or are making their way through governance.

I digress, anything is possible.

@Josh I think this misses the point of this structure a bit. If you create a range only 1% above current market, that’s no different than trying to sell the coin at 1% above current market (and this whole concept is meant to prevent the need to sell at market). That’ll be pretty meaningless and costs more in time and complexity than the 1% is worth.

I think the point with these is to do something like 150% or 200% or 300% higher?

@jonisjon - On the subject of existing, single-sided liquidity mining reward contracts for Uniswap V3, I haven’t seen any that exist and am currently reading up on what is available to work off of here:

The Uniswap V3 staker distributes rewards to active liquidity in the pool, meaning if the price doesn’t breach into out of range position, the position doesn’t receive any rewards. This is to dissuade users from providing far out, inactive liquidity and incentivize concentration of liquidity.

Need to spend some time digging through the math and contracts to see if there is opportunity to adjust and how that would impact things.

@goodfaith agreed, anything is possible. The idea here is derive an alternative to the current v2 liquidity mining strategy that exposes LPs to IL, which can be significant if/when prices move.

A single-staking rewards contract (completely separate from a Uniswap liquidity pool reward contract) would take in FOX and reward FOX. This would lock up FOX liquidity and support the DAO as the primary liquidity provider on Uniswap V3. This contract would have no IL regardless of FOX/ETH price, which would be a better offering for passive hodlrs/voters.

So to clarify, the way I imagine this working involves at least two reward contracts:

  1. Uniswap V3 liquidity pool staking for offset assets (ETH, USDC, etc)
  2. The single-asset staking contract for taking in FOX and rewarding FOX.

The reason #2 is important is to help offset the chunk of liquidity that the DAO would be providing above range - any buyers would be pushed to the DAO’s liquidity, which would in effect allocate the DAO’s FOX toward the desired alternative asset (ETH, USDC, etc).

1 Like

This was going to be the next concern that I broached, but I did realize that you were suggesting that the DAO fund a contract that was a contingency to a fastly appreciating Fox token.

Is it the best use of resources at the moment or should that contingency be put into place once there are some indicators that Fox will see permanent price movement? Once the price moves out of range the v3 pools become inactive, if the price comes back in range, it becomes active again. Some of these tokens can be quite volatile.

I grasp that you are suggesting the single-staking rewards contract is different than the Uniswap liquidity pool contract, but the single-staking rewards contract would canobolize the other as far as liquidity provided would be concerned.

Where do you think most people (or other protocols) are going to place their liquidity?

2 Likes

Assuming liquidity is placed depending on risk preference:

  • FOX hodlrs allocate to the single-staking contract, earn FOX rewards without needing to put up another asset or take on IL risk.
  • ETH/USDC/etc hodlrs that believe in FOX allocate to the single-sided liquidity reward contract, earn FOX to take on IL risk (where their position converts to FOX if their range is passed).

However, this wouldn’t really work with how the current V3 staker contract distributes rewards to both sides of the pool and only active liquidity. Agreed it could cannibalize, but those users are trading one combination of risk (hodling + rewards) for another (Uni V3 LP + rewards).

2 Likes

I read somewhere that you CAN steak a single asset, but it’s not recommended. I can’t find the article where I read it, I thought it was in the uniswap documentation but haven’t
found it yet.

I guess the main point that I’m making, is that there is going to be an allocation of funds that are in that contract that will be inactive until it gets in the range in the contract, and my question is do you think that is the best use of funds? Furthermore, would you suggest multiple out-of-range contracts to “chase the dragon” so to speak?

Screenshot 2021-08-27 181126

I’m looking over the contracts, but I’m not seeing how a staker moves from one position to the next liquidly. What I’ve seen is ranges for multiple pools with the same pairs, but you still have to exit a position to deposit in another position. I could be wrong on that.

Most of the v3 pools I’ve seen are for assets over 1K, namely Eth + whatever pair.

1 Like

Here is the entire uni-v3-staker design document. Better clarity in the classes, variables and methods will help make better informed decisions.

After reading more of the documentation I see what you’re proposing. There are several active discussions vying for funding and others that have already passed, the amount of funds that you are requesting to be allocated is equally as important.

Overview | Uniswap

“Crucially, this counts all liquidity, not just liquidity that opts in to participating in the program. So, incentive creators should pick a reward rate that they deem worthwhile to distribute across (potentially) all in-range LPs for the duration of the program.”

2 Likes

@albitrage

Alternatively here is a way anyone can provide liquidity to fox Uni v3 without the treasury using it’s funds or even maintaining a pool.

https://somm.fi/c8b1e - USDC/FOX
Sommelier Finance - WETH/FOX

I’m not a huge fan of the range constraints that are defaulted in this app - and variably they should have sliders that allow fine grain control over the range.

Admittedly, thinking about LPs and IL is relatively new for me, so I may totally have the wrong idea here.

If what you say is the case, then I missed that point. My thinking was that if we set a small range close to the current price, we could more quickly convert FOX to the other asset. But yeah, if that is like selling it (which I guess it is, but I don’t quite understand it yet) then we might as well just sell some FOX for stable coins directly with treasury funds.

1 Like

@Josh @Beorn

If you have an expectation that the Fox token is going to appreciate selling it for a stable coin to diversify assets would reduce the treasury value over time. It is kind of like selling it. Kind of, but inside a 5% range the pool wouldn’t rebalance to reflect much change. If you had a price run in v2 to 400% - 500% or more, you would see a much more pronounced kind of shift that left you holding more USDC than the FOX you had staked because of the price parity.

The difference between v2 and v3 Uniswap is one of diffused capital and concentrated capital. v2 is diffused over the entire price range and the ratios rebalance between the pairs. v3 is concentrated capital in a prescribed range, the ratios still rebalance between those price pairs, but the pool becomes inactive when it gets outside the range having the effect of reducing IL, and increaing capital efficiency. It increases capital efficiency because you are left holding more of a token that is increasing in value.

If the treasury is looking to hedge against token volatility the revenue from it’s operations is the best place to convert to stable coins - or several other options, like buy backs, to put purchase pressures on Fox. Some of which could be burned to further drive purchase pressures.

2 Likes

Capital efficiency is explained differently here, but the scenario outlined above is another example of capital efficiency.

1 Like

Anyone wanting to provide liquidity in the way linked above you can manually type in the ranges you want in the form at the bottom. It is initially populated with computed ranges, but they can be edited.