Some thoughts on yVault Product Strategy

Some thoughts on yVault Product Strategy

I’ve spent a few weeks in the Yearn ecosystem and have been consistently impressed with the quality of community, as well as the incredible pace of progress (even if it’s not always visible from the surface). It’s certainly a community I’m proud to be part of.

This post is an attempt to collate & structure some thoughts I’ve had while contributing. I was hoping to post a refined set of thoughts, but this community moves so fast I’m posting these very half-baked ramblings in the hope of contributing to the discussion. Forgive me for any misunderstandings or bad takes.

Product Strategy

I came to think about Product Strategy for Yearn largely as a result of participating in the Naming Conventions conversation.

Yearn is still young and we certainly have opportunity to redefine naming conventions, but I think it’s important that we have a thoughtfully determined convention for naming that will serve future product releases well, otherwise we risk introducing user fatigue by changing Naming Conventions again in the future.

Therefore Product Strategy is a key input to the process that defines Naming Conventions.

yVaults

As a user of V1 yVaults, I would frame (my own) user intent as:

XYZ yVault:

I want to retain exposure to XYZ asset, but I want to put my capital to work and generate yield to increase my holdings of XYZ.
I don’t mind if the capital is put to work directly, or whether it is safely leveraged and debt is used to generate yield, so long as my principal is not at (significant) risk.
I do not want to move my capital. This is a set-and-forget deployment of capital and I expect that Governance will allocate my capital to maximise yield while managing risk.

The want token

In terms of the intent above - one issue with V1 yVaults is that some of them target (as the “want” token) active positions in DeFi (e.g. yyCRV - presently aka yUSD - “wants” Curve yPool LP shares). This isn’t ideal because very rarely will a user want to go long on a specific position (even though automation/position management is desirable), they likely want to go long on the token that the position is maintaining exposure to. This approach will likely force withdrawals in the long term as a given yVault cannot allocate capital to any other position - it’s stuck farming the position defined by the LP “want” token.

Therefore the “want” token defined for the yVault greatly constraints its capabilities. Vanilla-yVaults, those “wanting” unpositioned assets like ETH or LINK or WBTC are most capable in how they are able to deploy capital to generate yield.

Vanilla yVaults:

Generally a retail user will want to go long on a token, and should therefore expect that the yVault will allocate that capital to positions that make most sense. If I put money into a ETH yVault, I’d expect the yVault to determine which positions (presently) make sense, allocate capital there and farm rewards, and then as incentives and market forces change, reallocate my capital to better yielding positions.

In terms of the user intent described above (“the retail user”), yVaults targeted at typical retail users should “want” vanilla tokens. The yVault should then manage that capital across a variety of active positions (as implemented by active Strategies on the yVault).

Pros: Set and forget, can completely change underlying positions to track best yield over time
Cons: You are stuck with the position/strategy allocations that the Vault makes

Position yVaults / yield legos

There is type of another user - active capital allocators and other protocols (like Rari Cap) - that are looking for position/farming automation, but want to do position allocations themselves. These users may be interested in yVaults that “want” a position token (e.g. uni dai-eth LP) to automate farming it. I think of this use case as “yield legos”. It’s worth thinking about whether we should differentiate products intended for different market segments (passive vs active allocators).

Pros: Automate farming a particular DeFi position, control exactly which positions you take
Cons: You have to do allocation work yourself, moving capital as the yield profiles of positions change

Open Questions

This leads me to think that Yearn product composition is worth thinking through. Some open questions:

  1. Is the complexity tradeoff of decoupling Strategies from a single yVault (and making them available as yVault-independent yield legos) worth it?
  2. If we support the idea of “yield legos”, then should vanilla-yVaults be built on top of these? i.e. should they allocate their capital to yield legos?
  3. Should yVaults simply exist as automation wrappers for both vanilla tokens & LP tokens, and users just pick vanilla-token-yVaults if they want a “set-and-forget” product or a LP-token-yVault if they want to actively manage capital allocation across positions? Do we care about the inefficiencies of this approach (segregated holdings in the same position without knowledge of each other)?

Meta-Vaults

(Disclaimer: I feel poorly-educated on the intention/design vision for Meta-Vaults, so rampant speculation ensues)

… or, maybe the teased Meta-Vaults are intended to be the retail product. So yVaults automate the management of capital for specific positions, and then Meta-Vaults provide a “retail entrypoint” for the set-and-forget deployment of capital.

Example:

yUSD Meta-Vault deploys capital into multiple stablecoin-LP Vaults (e.g. curve.fi/y LP, curve.fi/busd LP, etc), which in turn leverage Strategies to farm these LP positions (seems unlikely that there will be more than 1 Strategy for a given LP position) and bubble yield all the way back up the Meta-Vault.

Personally, I like the idea of Meta-Vaults offering “meta” yield-bearing exposure to an asset across many tokenised representations (via vanilla yVaults).

For example, Meta-Vault yUSD farms stablecoin yield, across a number of stablecoins which are all tokenised representations of USD. Critically, there is no USD token to “want”, that’s what makes it meta. So yUSD will include exposure to DAI, USDT, USDC, etc (via yVaults, e.g. yvDAI) to maximise USD-denominated returns. If yield is distributed as income (e.g. aToken style rather than cToken style), this has the side-benefit of creating a meta yield-bearing stablecoin for the ecosystem.

Another example - there is no native BTC token on Ethereum, only a variety of tokenised representations. There can’t be a BTC yVault, but there can be a yBTC Meta-Vault which delegates capital to tokenised-BTC vanilla yVaults like yvWBTC, yvrenBTC, yvtBTC, etc.

Fees

Active discussion: Proposal: Revamping Fees

Another benefit of focusing on yVaults for vanilla-tokens is that fee revenues are maximised for the protocol! LP-position tokens may wrap underlying yield (e.g. yCRV – not yyCRV – wraps lending yield from iearn and swap yield from Curve) and yVault fees therefore do not benefit from that yield since fees are only charged on harvests (active strategy operations).

For vanilla-token-yVaults, fees would be generated on all composed yield that the yVault achieves.

Important variables

As yVaults mature and move beyond simple-farming Strategies, additional variables emerge as important to consider (within naming conventions and our broader product vision & framework).

These are some of the things that should be assigned to each new yVault and included in its data sheet (and probably contract data schema):

Risk Level

Qualitative risk measure (say out of 5). Governance should then allocate Strategies accordingly across yVaults.

  1. How does Insurance fit into this?
Strategy Types

This refers to the type of Strategies that the yVault will engage in. Likely based on Risk Level.

Examples: No-IL Farming (e.g. CRV-farm-and-dump), IL Farming (e.g. UNI-farm-and-dump) vs Directional (leveraged exposure) vs …

  1. What other Strategy Types are on our collective radar?
Yield Type

Distributing (yield is distributed as income) vs Accumulating (yield is wrapped and treated as capital gains).

  1. Do we want both options for yVaults/MV?
  2. Can this be implemented as a dual-class yVault-share structure?
Product Version

Not contract version, but product version. As we migrate to new yVault designs, including a version within the product data may make the Yearn product ecosystem less confusing/aid in the migration of capital to newer yVault designs.


Hopefully these thoughts are useful. Looking forward to any discussion they generate.

6 Likes

I think this is such a great question. Although I’m still leaning toward allowing separate yCRV and USDC or DAI or USDT or TUSD vaults, the point about one yield not knowing about the other (or perhaps only knowing in one direction) is a good one to think about. For me, I think this comes back to what users of the protocol are holding.

There is already a LOT of yCRV out there (~$229m right now), and for something that already has such a HUGE base, it seems silly not to cater to that. Essentially, I’m seeing this in a view that we should largely focus on vanilla tokens, but when there is significant, sustainable demand for an LP position (such as yCRV, crvsBTC, crv3pool, or UNI v2 LP tokens) then it makes good sense for Yearn to offer those Vaults. Again, I don’t think we should go out and create a yVault for every LP token that exists, but if enough users hold those positions already, then we should. I do also think that these LP positions should be options as strategies for vanilla vaults as well, depending on potential for IL.

Same here. I think meta-USD or meta-BTC or meta-ETH (especially once tokenized ETH2.0 positions come out) would be really interesting.

For this, realistically I see two types of “Vaults”. The normal yVaults, which guarantee you won’t lose your principal investment, and then a class of leveraged/IL pools that include the base vault strategies as the base option (and will use that if its yield is better) but also tap into IL or leveraged strategies as well. I also see this as an answer to the risk level question, where we have a “safe” offering and a “risky” offering.

For yUSD, I think it makes sense to offer both—one that is always equal to $1, and another that accrues value like the current model does. However, I’m not sure if there would be equal demand for yBTC or yETH that distributed. Accumulation gives you the greatest flexibility from a tax perspective (at least from my basic understanding) and I imagine most would want that to try and shoot for long-term capital gains (since yVaults are supposed to be longer-term investments).

1 Like

Great post. I think offering both types of vaults positions yearn as the de facto go-to platform catering to a wide audience in DeFi. An accumulating strategy can also have some distribution parameters, which I believe will be possible in v2 vaults. After a certain point, an accumulating vault may choose to programmatically or at the discretion of the strategist distribute excess yield (in-kind or in another asset like yUSD).

For example:
Accumulating vaults - ETH, BTC, SNX, UNI…
Distributing vaults - [farm-and-dump]

Perhaps we can make snapshots to pulse interest among the community to determine which vaults to prioritize first based on soft-commits.