A more refined plan for Protocol Owned Liquidity

Token Liquidity and Governance

The Triple Threat

Governance, YAM token liquidity, and token holder incentivization/rewards work best when they are considered together and can be implemented to support each other. As a DAO, we want to incentivize governance participation (delegation at the least), provide sufficient liquidity for the YAM token without paying exorbitantly for it, and reward token holders who participate in the achieving those goals. We can solve for these problems individually, but I hope that I can convince you that they are better solved together.

The first step is to combine governance and token liquidity. Many of the newer governance models that defi projects have been using involve some form of lock-up. This is often in a veCRV style variable-duration lock or a bonding process where it takes a certain amount of time to unstake voting tokens. These models have governance and security benefits and also assure that there are incentives to keep tokens off the market by providing supply sinks for them. But when these tokens are locked up individually, they don’t add any other value other than the governance benefits. What if we combined these governance lock-ups with liquidity provision to improve token liquidity.

Liquidity First

DAOs need token liquidity. It allows new participants to enter and exit the organization and enables the DAO to craft token incentive programs on their own terms. Liquidity mining was a first attempt at liquidity acquisition by DAOs and it was very successful in bootstrapping enough liquidity at the launch of new projects. But DAOs quickly realized that paying directly to rent liquidity provision is an un-sustainable expense. Two solutions to this problem have been proposed: Buying liquidity permanently and leasing liquidity.

Buying liquidity was pioneered and popularized by OlympusDAO who built a product around providing tools for DAOs to purchase token liquidity. Liquidity purchased by the DAO does not need to be continuously incentivized and could be considered a capital investment for a DAO. The longer that liquidity is around, the less it costs, amortized over many years. Buying liquidity is the optimal long term solution if the funds are available to do so.

An intermediate option between buying liquidity and renting it via token emissions is to use liquidity derivatives (LP tokens) instead of governance tokens alone. A number of projects have begun using 80/20 govToken/ETH Balancer LP tokens as their governance tokens in order to combine governance and liquidity provision. 80/20 tokens have minimal impermanent loss risks and a relatively low requirement for outside funds (20% not in native governance tokens) which makes the inconvenience much lower than using the typical 50/50 Uniswap style LP tokens.

Incentivization

The third leg of this liquidity provisioning strategy is incentivization. Current liquidity mining programs rely almost exclusively on token rewards. On low volume assets like many DAO tokens, it is unlikely that fee volume will be enough to offset impermanent loss. To counteract this, tokens pay out high APRs to maintain liquidity. DAO owned liquidity no longer needs these incentives and the locked liquidity should be viewed as a shared common good of the DAO. But if a DAO cannot afford to fully purchase the liquidity it needs then it will still need to incentivize users to provide the rest. In this case, it makes sense to combine both the desire to reward governance and potentially provide dividend like benefits for a token with the need for liquidity. Providing token, or other incentives to stakeholders who deposit governance tokens to get 80/20 LP tokens and then actively vote or delegate can kill 2 birds with 1 stone. Combined with a protocol owned liquidity program, a DAO can set targets for liquidity and governance participation to maximize benefit.

Application to YAM

I propose to use the framework above to create a plan for long term sustainable liquidity provision for the YAM token. It involves 3 parts that would work together, but could be completed individually. They are:

  • Migrate YAM governance to use 80/20 YAM/ETH balancer pool tokens as the main voting token. These could be used alongside the YAM token alone or they could be used exclusively.
  • Use treasury ETH to pair with minted YAM as an initial protocol owned liquidity acquisition. The amount should be calibrated based on the size of the treasury and assumptions around how much YAM will migrate into the 80/20 Balancer token.
  • Reward participants who deposit and delegate their 80/20 LP tokens with treasury yield as discussed here. Additional YAM rewards can be given out to these depositors if desired.

What do we need to do to make this a reality?

The Numbers

In order to calibrate the quantity of ETH and YAM for protocol owned liquidity and incentives for voting, the DAO will need to set targets for different metrics.

Liquidity

As of June 6th, 2022 the YAM/ETH liquidity pool has ~$1,000,000 in liquidity. Ideally the DAO would shoot to match this amount of liquidity available in the market after making the changes above.

Lets start with the 80/20 LP tokens. These tokens provide roughly 40% of the liquidity that a typical 50/50 token does. (the 20% of base token and matched 20% of the paired token). If we want to get an equivalent amount of liquidity to what is currently available we would need to have 2.5x as much liquidity in 80/20 tokens, or $2,500,000. This would equal $2M in YAM and $500k in ETH. Considering that YAM has a current marketcap of $2.8M, this is very aggressive and probably an unrealistic goal. A more realistic goal may be to aim for 40% of the YAM circulating supply deposited in the 80/20 tokens ($1.12M worth of YAM, or $1.4M worth of 80/20 tokens). This would provide approximately $560,000 of liquidity.

With a target of 40% of YAM in the 80/20 pool, we can calculate that the DAO would need to make up $440,000 in purchased liquidity to meet the current condition. This would cost the DAO $220,000 worth of ETH if it minted new YAM to pair with it in a 50/50 pool. That comes out to about 15-20% of the current treasury ETH.

I believe that this ETH should be considered unavailable to the DAO once committed to protocol owned liquidity, but it could be removed in an emergency or if another mechanism to provide liquidity is implemented. Like with any liquidity provision, if the price of YAM drops, this pool will end up with more YAM, and if the price increases, less YAM.

Incentives

The above calculation assumes that $1.4M in YAM/ETH LP tokens are created and used in governance. In order to make this a reality, we will need to add some kind of incentivization. It is almost impossible to guess what will be “enough” but we can at least give a sense of what is available.

The treasury has about $1.75M in stablecoins and about another $1M in ETH (after using some for protocol owned liquidity). There are other assets in the treasury, but they are going to be harder to use in a yield distribution system. Some could be sold, but lets assume for now that the DAO has about $2.8M in assets that it can draw yield from. This is roughly double the amount that we project to have locked in 80/20 tokens, so if we distributed all of the yield earned by that portion of the treasury it would account to all token holders receiving 2x the expected yield of their LP token value if deposited in yearn as USDC and stETH. This may not seem like much, but it is real yield in USDC and stETH and while the YAM price is volatile, the yield profile will continue to match that of the Treasury assets.

There are options to design this system with either yield tokens from element.fi or by taking out self-repaying loans using Alchemix. Both options have trade-offs which need to be evaluated and discussed. There is even an option to use both, which would lower the yield for governance, but protect the treasury’s principal and keep the yield.

Furthermore, there is always the option to use YAM for some level of incentivization if desired, and low levels of YAM issuance directed toward governance participants should be considered because it provides a way for those who benefit the DAO to slowly increase their share of tokens while those who do nothing are diluted.

Technical Questions

In order to make this a reality, there are technical issues to consider:

  • How realistic are the targets set in the document?
  • We need to add the YAM/ETH 80/20 LP token to the YAM Governor contract or create an incentivizer contract to add to the governor contract. The incentivizer contract can double as a locking contract with a cooldown. What parameters do we want this contract to have?
  • When desired, the rewards on the existing incentivizer will need to be turned off. We should probably also migrate from Sushiswap to a Balancer 50/50 pool for the purchased protocol owned liquidity to make things simple and make interfaces to purchase and sell YAM easier. if Sushiswap ever gets their act together and releases a balancer equivalent variable weighting pool then we could use that instead for both parts.
  • How do we design and implement the yield distribution mechanism? I will write about element and alchemix as different options soon.
  • Do we want to include any YAM incentives?

Final Thoughts

I strongly believe that the future for many governance tokens is going to include leveraging 80/20 (or other weight) LP tokens in governance and other functions to help maintain a minimum amount of liquidity for the native token. Pair this with a productive use of the treasury to help connect the its inherent value with that of the YAM token. There are multiple moving parts required to make this all happen along with the changes to the YAM organizational structure and deciding upon an issuance model, but we have an opportunity to innovate and move YAM forward and into a modern DAO.


There have been a number of previous posts on protocol owned liquidity and governance that this post builds on. Take a look at them here:

Governance: A Roadmap for YAM (Part 2 - Governance)
Treasury Yield Distribution: A Roadmap for YAM (Part 3 - Tokenomics)
Protocol Owned Liquidity: A Roadmap For YAM (Part 4 - Protocol Owned Liquidity)
Feddas’ post about protocol owned liquidity: YIP: Multipart Yam Treasury Rehabilitation Proposal

1 Like
1 Like

I had what I think is a pretty good idea on this front to combine this DAO Controlled Liquidity (DCL) with contributor payments. I have written about how I want to see the DAO use the YAM token more liberally when paying contributors and potentially just mint YAM every time we pay a contributor. But there is an interesting middle ground: Pay contributors in treasury owned LP tokens.

If we are using treasury ETH to buy DAO Controlled Liquidity and storing it in the treasury, then why not use it as additional runway to pay contributors? It adds some ETH to compensation packages, which lessens our reliance on USD denominated payments, and with a good vesting plan, it doesn’t remove the liquidity from the market (at least not immediately).

We can create a balancer pool token in any weight we want for this. 50/50 is the most efficient, but since we would mint the YAM it doesn’t need to be efficient. 80/20 uses the same amount of ETH, and has the same effective liquidity per dollar of ETH. So if the treasury held 80/20 LP tokens and paid out in those then when vested they could go directly into the voting contract. If the treasury bought 200K worth of ETH of DCL then this would create $1M worth of 80/20 YAM/ETH LP tokens that could be used to pay contributors the non-USD portion of their grants. And contributors don’t need to sell YAM or source their own ETH to participate in voting.

I’ve found that making things complicated for minimal gain is counter productive to keeping things simple and easy to understand especially if your dealing with a DAO because you can’t expect all participants to have the time to understand how some things work.

The simplest solution while not the most optimal is the best solution. Current compensation structure of 70 stable / 30 yam is sufficient for most general cases.

As far as protocol owned liquidity, the only reason why I would be interested in owning the liquidity is:

  1. Eliminating the protocol inflation which is set to run out anyways, so dealing with this earlier is better.
  2. Earn a little on trading fees.

I like your idea of using the 80/20 balancer pool is a good idea especially if we are going to be minting the $YAM. I don’t see the point in buying the $YAM if we can mint it. Current Sushiswap TVL is $580k. Here’s my recommendation.

  1. We target $1mm worth of liquidity in the 80/20 pool, which would require $200k worth of $ETH, we mint the $800k worth of $YAM. Whatever number of $YAM tokens are minted will need to be burned if we are ever to unwind/finish/finalize this proposal. This might require buying from the market. By doing it this way, this proposal has a net natural $Yam minting.

  2. Yam Treasury holds the liquidity and it is not to be spent. If the ETH is needed at a future date, we can unwind/finish/finalize all or part of the liquidity.

  3. We end all rewards for sushiswap pool. At this point, the only inflation of the $YAM token are these rewards, any remaining $YAM tokens authorized but not distributed yet goes into the Yam Treasury.

  4. Keep governance functions on sushiswap pool (no change). I don’t believe removing this authorization materially effects gas costs for $YAM token but I could be wrong.

  5. Find out developer costs it would be to add governance functions for the balancer pool. Since the treasury will not be voting using its tokens, it really doesn’t matter if there are governance rights but it would be helpful for anyone else wanting to join the pool. Let’s find out what kind of lift it would take to add and if the cost is minimal, let’s include it into the proposal.

Feddas

What are you referring to here? Paying in LP tokens? The idea is that paying in LP tokens is simpler because we are already minting for that purpose so it does double duty where it is the mint we need for runway and it is also DAO owned liquidity (want to start calling it this, feels more accurate). We could still pay 70/30, but with the 30% being 80/20 LP tokens that we have on hand.

Things should be as simple as possible and no simpler. But simple to one person is not simple to another.

I’d like to add a 3rd point here. The DAO needs liquidity and owning it is the only way to assure that without the additional incentives/ issuance you mentioned in your first point.

And I’m beating a dead horse here, but all evidence points to low volume AMM pools almost always coming out with IL outpacing fees. The only way this won’t be the case is if the liquidity is removed at a similar price to when it was put in, but this should not be our goal. Our goal should be for the price of YAM to go up, which will mean that IL will outpace fees. This is kind of academic at this point, but it is a mistake to frame this as a fee generating move as it just won’t end up being the case.

Your proposal here seems pretty similar to what I proposed, I guess minus spending the LP tokens on contributor compensation.

I want to make sure it is clear that $1mm in an 80/20 pool is equivalent to $400k in a 50/50 pool.

“Authorized but not distributed” rewards would need to be minted. The incentivizer mints weekly and doesn’t just have the tokens sitting around. My concern here is that we will lose liquidity in this pool that won’t be fully made up by the 80/20 pool. I still don’t see a problem with the rewards, at least until we figure out how to incentivize liquidity in another way, (which I propose we do by insisting that 80/20 LP tokens are the only voting tokens).

I’m not sure I understand what this means. If it is just implying that you can still vote with tokens in the sushiswap pool then I agree we can continue that without any problem. essentially all we would do is turn off the rewards spigot. It will continue earning the treasury sushi rewards, although at this point they are pretty minimal.

So there are a few complexities here, but none are insurmountable. The first is that we will need to start sending people to an aggregator like 1inch to buy YAM, especially if a chunk of liquidity sticks with the sushiswap pool for whatever reason. If we can convince a bunch of that liquidity to migrate to balancer then that would be ideal and people could get good prices on balancer or cowswap directly.

Adding governance rights to the balancer LP tokens would require creating a new incentivizer contract and adding it to the governor contract. That should be a relatively small lift, but as with any smart contract, small lifts take some time and effort. As you said there is little intrinsic motivation for depositing there except for people in the current sushiswap pool moving to reduce the amount of ETH required. Without governance they have no reason to do this, so that makes it a necessity if we want people to deposit there.

As I mentioned above, I strongly believe that 80/20 pool tokens should be our governance tokens. This doesn’t have to happen immediately, but it has real advantages. It is a natural reason for people to add liquidity depth, even without incentives. We want to incentivize voting anyway so that kills 2 birds with one stone.

This would entail upgrading the governance contracts, which is something that is being discussed. The more the liquidity token is built into the protocol, the more control we have over the liquidity that is available in the market.

@feddas, wanted to drop a quick reply here based on our conversation yesterday.

Actionable Items

One of this things we discussed was around actionable items in the short term and actionable items in the longer term. I view the full scope proposed above as a longer term strategy goal with a number of moving parts, and not a “quick fix” to get more liquidity or end the current incentives.

If we want to do something faster, we have some options that should be able to nicely transition into a longer term strategy. My proposal above pushes for balancer pools and using their LP tokens as voting tokens. But in order to roll that out we need to do a bunch of things first, and so deploying ETH to balancer now to acquire DAO Controlled Liquidity doesn’t make sense. But we could definitely deploy some ETH to sushiswap to buy liquidity now, and migrate it to Balancer when we are ready with the other pieces. This would keep all our liquidity together in the short term.

Specification is as follows:

  • Decide how much ETH we want to deploy. Mint an equivalent dollar amount of YAM to paid 50/50 with it. Deposit both in sushiswap and move the SLP tokens to the treasury.
  • Decide what to do with incentives. If we do want to stop them, it looks pretty simple to do. Governance calls the function setBreaker() on the incentivizer contract and that stops it minting any more tokens. (function 9 here: Yam.Finance: Treasury 2 | Address 0xd67c05523d8ec1c60760fd017ef006b9f6e496d0 | Etherscan). Anyone still in the incentivizer can still vote like normal.
  • See how the rest of the governance stuff develops and if we want to move to balancer for voting tokens and DCL then we can unwind our SLP tokens and move them to balancer. If we move to have everything be 80/20 then we would mint YAM to make that work.

Quick Note on paying in LP tokens

You expressed concern about paying in LP tokens due to added complexity. First off, this is a longer term goal, so it does not apply to what I wrote above, but I just wanted to relay some more info and make a case for why it doesn’t really add more complexity (once you get past the math).

The Math

I ran across the following thread on twitter this morning, showing how to price a BPT.

the math applied, not actually that hard when you understand the the symbols. Big pi thing is product over all terms i, which in our case is 2 terms (token 1 and token 2)

LP price equals 
the pool invariant divided by the pool total supply, 
multiplied by (the price of token 1 divided by the pool weight of token 1 raised to the power of the pool weight of token 2) 
multiplied by (the price of token 2 divided by the pool weight of token 2 raised to the power of the pool weight of token 2).

PriceLP = (pool.invariant() / pool.totalSupply()) * ((token1Price / token1Weight) ^ token1Weight) *  ((token2Price / token2Weight) ^ token2Weight)

image

We need asset prices for both pairs, as well as the K value and total supply values from the smart contracts. All this data can be queried off-chain, the price calculated and the price recorded daily and stored over the last 30 days. That then allows us to calculate a 30-day average price which we can store and use for payment.

Accounting

You mentioned that accounting would be an issue, but if all contributor payment were paid out this way then it wouldn’t add anything else. The treasury holds tokens that have a price, and we pay contributors in those tokens based on that price. This is equivalent to how it would work with YAM, just using another asset. We would just ignore the “amounts” of YAM and ETH within each LP token.

Yes, we would deplete some of the DAO controlled liquidity doing this, and some people may split the tokens apart, reducing overall liquidity, but if we run out then we would be in the same spot as if we ran out of YAM. We would need to acquire more. If this case we would just be acquiring more DCL.

If feels much more elegant to me to do it this way. Instead of having both YAM and LP tokens in the treasury you only need LP tokens.

I don’t like the idea of depleting LP tokens from the treasury. We are currently doing this: Paying in stables from the treasury for any contributor compensation and the Yam portion is from a different pool (the contributor compensation pool). This reason why I like this method:

  1. It allows us to forecast a runway based on current burn rate (stablecoins, Yam we can mint if needed).
  2. This allows me to create a treasury rebalancing system that can rebalance when there is a specified trigger. ie. If stablecoin balance goes below 6 month runway at current burn rate (changes every time there is a new reoccuring expense) then run thru rebalancing framework.

Here are a few issues with using LP tokens to pay contributors:

  1. If LP tokens get low in the treasury, how much do you mint?
  2. If liquidity falls 20%, do we mint more? or do we just leave it? At what % do we mint more?
  3. Snapshot reports and accounting become harder to understand. We paid out 100k in Lp tokens this quarter but it shows 500k in the quarterly report. We would still need to account for the varying YAM payments but that doesn’t directly effect the treasury, since it is in a separate account. Having run multiple businesses, it is important to separate accounts like payroll and taxes because you can either do it this way or spend more money hiring someone to reconcile accounts.

Paying with LP tokens does not solve a significant enough problem that we have and introduces more variables that we need to account for. If we are to streamline the DAO, the current system is best and not broken.

This is not a hill I want to die on (yet), and this isn’t a pressing issue, but I don’t see how some your logic doesn’t just apply to either method.

We are currently not doing this. The YAM currently lives in the treasury since the contributor compensation (vesting) pool has been deprecated. We currently pay out YAM from the treasury. If we want to call this a different “pool” then we can do that, but we could do it with any asset.

Neither of these things change. Stables are paid from the treasury, if we need a rebalance then we rebalance. If we need more YAM, then we get more YAM. As far as general rebalancing, YAM has never been considered as part of this. If we buy LP tokens with treasury assets, are you imaging they are included in the rebalancing? I was assuming not since that does add complexity.

Don’t we have the exact same question to answer if YAM gets low?

Don’t we have to ask the same question with any LP token in the treasury? They will fluctuate in price based on the underlying YAM and ETH, changing how much liquidity is available. If the price of YAM and/or ETH continues to drop (or rise) then we will have a different amount of liquidity available in the future.

And we could replenish yearly. Or quarterly. Or as needed. In the end it is just the same as paying out YAM, except it now includes a 20% portion of ETH. We actually simplify what is going to be 2 questions (“Do we have enough DAO owned liquidity?” and “Do we have enough YAM runway?”) into one question (“Do we have enough DAO owned liquidity?”) because if the answer is YES then the answer to whether we have enough runway should also be YES. It also simplifies minting YAM in the same way since there is now a good reason to do lump sum mints. I still think minting a bunch of YAM and having it sit in the treasury and hoping it will be enough to last x years is a silly way to do things. But minting that YAM and putting it to work as DAO owned liquidity gives it a reason to exist. And once in LP form it doesn’t make sense to split it out of LP form to pay contributors.

Once again, I just don’t see how this is any different if we paid out in LP tokens vs in YAM tokens. Both have a price and both are paid from some source. The LP tokens could be in a “separate account” just like the YAM tokens you mention. The same pricing issues are universal in a volatile asset.

Trust me, I know all about what a pain the accounting and quarterly reports are. I’ve been doing them since you stepped away. In the grand scheme of what is hard to account for this is barely an issue in my mind. In fact I think it simplifies accounting because we can remove one asset from the treasury (pure YAM) and only have LP tokens to account for. Fewer assets = more streamlined.

We do need to put more thought into separating cash flows, income, payroll, etc. That I agree with. I started splitting out actual revenue from investment income in the last reports and it was a huge pain in the ass because everything just came in together. But that has to be thought through on a contract level, which adds complexity and coordination.

Okay didn’t know that. All the Yam in the treasury is considered earmarked for contributor compensation only tho right?

By using LP tokens only for protocol owned liquidity: LP tokens do not need to be rebalanced regularly, in some cases if there is something off with the liquidity of Yam, it can be adjusted then. Best case scenario is to set and forget.

There is nothing wrong with the current system by using LP tokens your not reducing any work or time. Until you show me a significant cost/benefit of doing this, we can agree to disagree.

Yes. But when this YAM is gone (soonish) we will need to decide what to do. I do support keeping things separate. Even if not physically, at least conceptually, so I am with you on this.

yeah, I am not proposing we change this now.

It only really makes sense if the YAM voting token is an 80/20 LP token. At that point it would mean that we are paying non-USD portions of compensation in voting power (like we do now). And if we do make LP tokens the voting tokens, then anyone earning YAM will have to either sell some to ETH and LP, or bring their own ETH and LP, paying the gas costs for both. Selling becomes a lower friction option. But if we pay in LP tokens there is much less friction to vote with those tokens and more friction to unwrap and sell (a positive from the DAO’s viewpoint).

Anyway. Something to mull over as we work on more pressing matters.