A simplified approach to Intrinsic Productivity

Ever since I joined the coop, I’ve been interested in intrinsic productivity, and how we can make the assets we have in our vaults work for us and our users.

The thought process is pretty simple: for crypto / DeFi natives, the thought of holding governance tokens in what is effectively a cold wallet makes us uncomfortable as we know that we are leaving yield on the table.

Intrinsic yield opportunities (3rd Jan 2021)

Asset Weight AAVE COMP Maker Staking Practical best yield Weighted return
UNI 18.40 0.04% 1.13% n 1.13% 0.21%
AAVE 17.10 n 5.06% 0.00% 0.00%
YFI 12.30 1.14% y 0.85% 1.14% 0.14%
SNX 18.80 3.58% n 24.17% 3.58% 0.67%
MKR 10.20 0.26% n 0.26% 0.03%
COMP 9.50 12.2 y 12.20% 1.16%
REN 4.60 0.5% n 0.50% 0.02%
LRC 3.90 y 0.00% 0.00%
KNC 2.70 y 3.5% 0.00% 0.00%
BAL 2.50 n 0.00% 0.00%
REP 0.00 0 n 0.00% 0.00%
Total 100 Weighted average for DPI 2.23%

So, there have been a few ways proposed that can capture some income from the tokens:

  1. Use a AMM type fund that works on a constant value bases (Balancer pool) and capture trading fees with the market (See original PIEdao and powerpool)– Downside is that it risks rug pulls / token collapse (e.g. Cover)
  2. Build a fund using income generating tokens; cUNI, yYFI etc. See YPIE with $188 K AUV – Downside is that it could be considered a security, less liquid components, issue and redemption requires all the income generating tokens which may change frequently.
  3. Taking a portion of the AUV and then farming them at risk to the fund manager. This has two main risks:
  • The income generating token collapses compared to the native token and so the fund manager has created a liability that is not covered.
  • A spike in redemption of the fund token means that all the (none income generating) tokens are withdrawn from the fund contract and the fund is insolvent.
  1. Get users to stake DPI for a set period, then farm the undying tokens with 100% confidence that the insolvency risk is removed completely.

As a result of the liquidity risks from farming, we have been discussing staking DPI:

In November and December, this was my preferred option as it would allow us to run safe experiments, while we write the required code and gain confidence in the stickyness of DPI in the vault (i.e. how much DPI would be held, even without the coop providing incentives via liquidity mining etc).

In the 16th December product call, I proposed the following road map for DPI intrinsic productivity:

With the goal of using staking DPI as a stepping stone to a more risk based approach.

However, I think that the cost benefit balance is unfavourable:


As the coop needs to distribute INDEX tokens, I don’t see a problem in the experiment making a loss. However, the attention and gas costs mean that participation in the experiment will be skewed towards larger holders. Also, with the advent of more liquidity mining by third parties (Sushi, Loopring, YFL), we would either need more staking contracts, or we are effectively picking one protocol to benefit from our programme (Which I would prefer not to do).

However, I think the biggest challenge is the coding work required.

I think my most recent proposal would require:

  1. Governance contract to remove tokens from DPI treasury
  2. A farming contract to hold the pooled tokens
  3. INDEX staking contract – rewards as INDEX with slashing
  4. DPI staking contract – with rewards as DPI or INDEX?
  5. LP staking contract - with rewards as DPI or INDEX?, Uniswap, and / or others?
  6. upto 10 deposit and reclaim contracts (1 for each token)
  • AAVE
  • Compound
  • CREAM
  • YFI governance
  • AAVE staking (inc unlock)
  • KNC governance (possibly not worth the work)
  • xtoken.market

And we would need them all written and verified before the launch of the staking programme as a single big bang implementation.

Given the demands on Dev resources (rebalances, addition of new tokens, new funds…), and the inherent difficulty in predicting how long such coding will take means that it take time to get everything in place to launch.

In addition, there is the time required to agree and explain how we would reward DPI, LP stakers, whether rewards would be via INDEX or DPI, and at what level. All this takes time, and I’m not sure we would ever reach a good consensus.

So, what do I propose?

I’m proposing that we skip step to in the road map and move straight to cautious farming. The aim would be to take small steps, and increase as we gain confidence.

The first step would be to prepare 4 contracts (/sets of contracts) and use them:

  1. Governance contract to remove tokens from DPI treasury
  2. A farming contract to hold the pooled tokens
  3. INDEX staking contract – rewards as INDEX with slashing – with a cool off time
  4. One income generating contract.
  5. would suggest cCOMP as it has been above 2% every time I’ve checked.

Rather than using a set time INDEX staking contract, I would propose that we have an open ended contract with slashing, a cooldown period (as per the AAVE staking contract) and possibly variable rewards i.e. it provides 10% pa as a starting point, but we could adjust to 5% or 15% in the future without requiring the stakers to take any action.

Then once we have some index staked, we quietly start farming.

Initially income will be trivial, but over time we can slowly add to it by:

  • Increase the value of tokens placed in the DPI farm.
  • Add more income generating options:
    • Initially copy and past the compound codes.
    • Then AAVE?
    • Add staking contracts.
    • Develop collateral based strategies (Maker Vaults, or AAVE / COMP for stable coins)
    • xtoken market?
    • Others

Note, I’m a fan of xtoken market and have been using it for the last 6 months. My annualised returns have been:
KNC 6% (6 months data)
SNX 11% (3 months data)
AAVE 33% (1 month data)

I’m not sure I would allocate all the tokens in the farm to xtoken as they have low AUV (~$2 M) and only 6 months track record. But we could add a few $1,000’s and see what happens over time.

Rebalances

Reblances will be a pain, and initially, the income may not compensate for the gas / work required. I think there are two approaches we can use:

  1. Unwind the farms, return all the deposited tokens to the DPI treasury (and the income to coop treasury :slight_smile: ) and then rebalance the DPI treasury before redeploying the farm.
  2. Rebalance the farm pool in separate transactions to the DPI treasury.

The first may be simpler initially (doesn’t need contracts for the farming pool to sell / buy tokens on uniswap), but as we add more farms the second becomes preferable (if we can spare the Dev time)

How sticky is DPI?

The key question is how sticky is DPI AUV. As the market changes, how much of the DPI will be redeemed by our users who want to take the individual tokens and use them?

One way to look at it is to consider the cold wallets, who is holding DPI, without any incentives. So I’ve done a review of the top 28 addresses (all over 500 DPI).

The majority of DPI is sitting in various AMM liquidity pools being used to earn INDEX, SUSHI, BAL etc.

The Effect of Liquidity mining

We know that a significant proportion AUV in liquidity pools is driven by the incentives. When INDEX price spiked in November, the #DPI issued and DPI:ETH liquidity increased.

Likewise, Sushi liquidity has responded to the incentives in early November and late December:


The current, and planned liquidity mining has been targeting an APY of about 30%, and this appears to be working with both Uniswap and Sushi earning about this value.

Looking at the addresses that are not smart contracts, the two largest have been involved in liquidity mining, but have since started to hold DPI and trade – Presumably due to the lower INDEX rewards not compensating for potential Divergence losses.

However, there are a significant number of wallets that have purchased DPI, and NEVER sold it. 50% of the addresses holding over 500 DPI, have never touched it. They don’t want addition yield (and associated risk of divergence loss) from Liquidity mining. In total these 14 addresses account for 6.1% of issued DPI (13,400 tokens).

Liquidity pools supported by trading fees

If liquidity mining was stopped, and only fees drove the size of the pools, then the Uniswap pool could be expected to drop to ~1/5th of it’s current size (then the 5% fee income would grow to ~30%). So, we could expect to retain ~20,000 INDEX in the liquidity pool. And we could loose ~90,000 DPI to redemption by the yield seeking market participants.

On this bases we could loose 40% of DPI issued due to stopping the liquidity mining.

So, how much should we farm?

Personally, I would prefer to start low. I think that the minimum stickyness of DPI lies somewhere between the 6% that has never been sold, and the 60% that we could expect to retain if we stopped liquidity mining.

I would suggest that as a starting point we farm the equivalent to 10%, i.e. 11,000 DPI ~ $1.4 USD.

If we only farmed the 9% compound and earned 2% income pa, this would produce $25,000 ps or ~$2,000 per month. [I did say it was a low income stream at the start]

How much income should we provide to stakers?

INDEX:ETH LP’s are currently receiving ~25% on Sushi with a risk of divergence loss

AAVE stakers earn ~13% with a risk of slashing.

I would recommend something in the region of 10% or 15% for INDEX staking.

What about the streaming fees?

I want to use streaming fees to pay the INDEX stakers, however, that the moment I don’t see a need:

  1. We have INDEX available that we want to distribute.
  2. Paying PDI rewards means that the is a risk of divergence in value compared to INDEX, so INDEX stakers may desire a higher % return.
  3. Streaming income is low (~$15,000) per month.
  4. A smart contract to distribute INDEX as a return for INDEX is mush simpler to prepare and audit.

In the future, as income grows we can roll out contracts to stake INDEX for streaming rewards (or use streaming rewards to buy INDEX?).

Finally,

Once we have established the proof of concept, and have contracts working we can increase the scope of the intrinsic productivity without staking.

The Coinshares index contains 3 tokens (ETH, WBTC and wDGLD), ETH certainly has minimal risk income options that we can use…

My long term goal would be for intrinsic productivity to start producing enough cashflow, that we can reduce the streaming fees on the products. Reduced fees is a significant factor in growing AUV.

So, I think this only leaves 5 questions:

  1. Do we want to start intrinsic productivity without lock ins which means INDEX stakers and the coop take on the insolvency risks (as opposed to the staking DPI options previously discussed)?
  2. How much income do we want to provide INDEX stakers?
  3. How much Slashing risk do we want to put on INDEX stakers?
  4. How much DPI do we want to remove from the treasury for the initial farming operation?
  5. Which farming contract do we want to start with?

I look forward to you comments.

OA

2 Likes

This will be discussed in the next project call.

Over Analyser is inviting you to a scheduled Zoom meeting.

Topic: Indexcoop Product and intrinsic productivity call
Time: Jan 7, 2021 09:00 PM London

Join Zoom Meeting

Meeting ID: 853 8730 6421
Passcode: 6ytbHe

@setoshi @bweick @DarkForestCapital @verto0912 @Etienne @reganbozman @LemonadeAlpha Any comments before tomorrows call?

This is quite a monster post that has so many considerations taken into account. Kudos to organizing this.

To add a dimension of development requirements of cost to the proposal steps. Such a system would need to consider:

  • Issuance (Do minters need to replicate the positions and what are the gas cost implications?),
  • Component accounting: (how do we track the total value securely and accurately if held in 2 contracts),
  • Rebalances (how do we make sure that rebalances happen properly in light of a farming contract)
  • Rules for moving funds between the farming contract and the SetToken (If redemptions happen, is there a way to automatically move funds back to the SetToken from the farming contract?)

In terms of the set of 4 contracts that are proposed, it seems that 1/2 will be very intensive (as they need to consider the above criteria). 3 will be simple. I’m unclear around 4.

  1. I think this gets complicated for casual holders either way as we will be running a fairly complex experiment alongside multiple farming options (alpha, sushi, index farm). Feels like the trade-off is to simplify the contracts and have no risk backstop but lock DPI, or to simplify the options and have a clear reward structure by way of risk backstop and a defined reward for staking.
  2. Wouldn’t we go by the votes you held here? The most popular was fixed per DPI per day or pool of 5000 INDEX
  3. Same as above, the consensus was around 30-50%
  4. Is this purely for the rewards?
  5. cCOMP makes sense as high yield low risk starting point
1 Like

Some good questions:

My understanding is that if we remove the same proportion of each underlying token (as per the current weights) to a separate address, the main mint and redemption contracts would be unchanged.

Accounting will be fun, I would say if we remove 10K DPI, then we would report the farming vault as equivalent to 10K + income (i.e. any income generated would be a separate line item until it was pulled into he coop treasury).

Rebalances will be a pain however we implement intrinsic productivity. Initially, I think it may be easiest to totally unwind the farm and return the original tokens to the main DPI account for the rebalancing. Then anything left in the farming address it the coops profit and can be moved into the coop treasury.

At the moment I’m suggesting that we move an agreed amount into the farm and watch it manually. If we are working with 5 to 15% of the total, I think that daily checks would suffice. In the future, as we get a better understanding of the stickyness, we can increase the % farmed via IIP votes, and possibly automate unwinding and return of the farm (or build code for a K33Per to manage).

1. I think this gets complicated for casual holders either way as we will be running a fairly complex experiment alongside multiple farming options (alpha, sushi, index farm). Feels like the trade-off is to simplify the contracts and have no risk backstop but lock DPI, or to simplify the options and have a clear reward structure by way of risk backstop and a defined reward for staking.

My intention is to try and simplify things for users, and to reduce their gas use:
INDEX holders get to stake once and can leave it staked.
DPI holders can not do anything
DPI:ETH LP’s can no do anything.

With current gas prices, I’m seeing reluctance for many users to do anything (I think re-using the 30 day LP contract will retain many of the smaller LP’s as they need to do nothing for another 30 days).

I also thing we would get caught in a trap between long durations being unattractive, but short durations being gas intensive. We could end up with only a few whales staking DPI. - We would get AUV locked, but I would prefer to involve everyone equally.

It would mean that it’s the coop and INDEX stakers doing all the work and getting all the rewards.

Long term, I would like to generate enough intrinsic income that we can full subsidise the streaming fee i.e. DPI holders pay nothing. (I suspect that a positive return to DPI, could be pushing us towards becoming a security - zero fees for holding should help AUV.).

2. Wouldn’t we go by the votes you held here? The most popular was fixed per DPI per day or pool of 5000 INDEX

Yes, I think our understanding of the sticky ness of DPI has evolved (and we need to work on more analytics), and I think that trying to write all the contracts for a specific lock in date would become a challenge (unless we recruit more Devs).

I know that there are lots of people wanting to see streaming fees going to INDEX stakers, I just feel that incentivising with INDEX is better for the current position as we have INDEX tokens to hand. I also think the code is simpler.

We could allocate a fixed INDEX daily rate to be shared amongst INDEX stakers.

3. Same as above, the consensus was around 30-50%
4. Is this purely for the rewards?

re removing DPI, I’m talking about how much of the tokens in the DPI treasury should be moved into the farm.

5. cCOMP makes sense as high yield low risk starting point

:slight_smile:

1 Like

My slide deck for Thursdays meeting: https://docs.google.com/presentation/d/1ioQZyGoF_rB1a-KCXYHw9-j4QHD_QoPGrtcGUlwQApk/edit#slide=id.ga90951f4a6_0_89

In general, I’m in favor of this approach. It will be a lot of work but in my opinion it’s inevitable that we have to do this at some point, so we might as well start now.

One idea would be to just fork the code for the current DPI contracts and set up a “test” DPI pool where people can add liquidity by minting test DPI (and maybe earning some rewards for that)

1 Like

Thanks @overanalyser, this is great work.

  1. I agree that staking INDEX is the best option (DPI and LPs don’t participate). Rewards paid out in INDEX as well. We can call it “streaming the management fee” or anything else that we want. It will just be done in INDEX. EDIT: I think we need to discuss if Set and DFP can participate in this.
  2. I would do a 10-day cooldown for withdrawing the staked INDEX. Although I can see it being anywhere between 7 and 14 days.
  3. Targeting 10-15% APY to INDEX stakers makes sense to me. AAVE staking is currently yielding close to 5% and I believe they are voting to bump it up to circa 7%. Roughly 2x multiplier for INDEX seems reasonable.
  4. I think 30% for slashing is good. The more we do here, the less proportionate risk/reward becomes. Imagine 50% slashing for 15% APY. Might be challenging.
  5. Where are you seeing 12% for COMP? Is that including COMP incentives (sorry, I have no clue what Compound is currently doing with rewards)? I would consider staking AAVE in the safety module as well. The governance vote to increase rewards by circa 40% will be done on January 9th.

Another point I wanted to bring up here:

  • I think staking INDEX for governance (with a small reward & multiplier for voting) is something we should actively consider. If it’s ever implemented, how do we approach this from the coding perspective? I assume there will be some people who would be willing to stake for governance (w/out slashing) and not for the “safety module” (w slashing). Do we need two contracts?
1 Like

I can understand the idea of rewarding gov stakers w/ INDEX, but can’t get behind the crux of this proposal.

If we are doing intrinsic productivity, why would we pay the INDEX backstop stakers in INDEX if we were farming yield in other tokens? Where does the yield go?

I’m supportive if this returns the fees from farming in the token farmed/stable token to INDEX.

I think all of this work, for something that doesn’t even benefit DPI holders, to return INDEX to INDEX holders (we’re not even sure this is attractive) is a mistake.

All good questions, thank you.

I prefer to reward with INDEX because we have a treasury full of them. The income from the intrinsic yield (and streaming fee) would end up in the coop treasury as a source of diversified treasury.

To be honest, the yield from this is likely to be pitiful (until we scale): 1% of COMP which is 10% of DPI and farming $2 M = $2,000 per year… If we divert the streaming fee then we would ahve more to spend.

However, I’m working on keeping it simple, so just allocate INDEX from the coop treasury and run with it. In time as intrinsic yield and streaming fees grow, we can move to them as the rewards.

I’m proposing treating DPI holders as entirely passive. So no staking, but no rewards.

The long term goal (say when the intrinsic yield is equivalent to 3% of total DPI AUV), would be to reduce the streaming fee to Zero. I’m not sure we want to go as far as paying income to (non staked) DPI as I am cautious that could be considered a security.

By not staking DPI, we also allow the DPI holders to use their tokens in other ways (LP / CREAM AAVE collateral etc).

Agreed, I think we want to start making moves, but I’m worried that it would take too long to get all the staking contracts sorted for a specific start date.

A separate DPI pool, possibly one that we can lock the issue and redemption, is an interesting alternative…

I think it would need a separate contract. I would prefer to push everyone to staking (but I would suggest we allow any INDEX to vote).

There was a spike in COMP rewards at the start of the month. It’s certainly variable.

Personally, I would tend towards allowing them to stake anything that has been released form the vesting contract.

ok, Sorry for the technical issues on Thursday.

Slide deck is here:

I’ve added some notes to a couple of slides at the end of the deck: also below:

Felix: What is our product strategy?

  • Most Liquidity
  • More integrations
  • Fees (low cost grow AUV - but less sensitive during bull market)*
  • Good brand
  • Low risk
  • How useful is it

Lemonade: Is intrinsic productivity the most important thing to increase AUV?

  • Should we be spending INDEX on this now?

DFC: Is intrinsic productivity too complex to do now?

  • Is implementing IP for coinshares simpler (large proportion of ETH) better, ~3 months after launch to allow AUV to stabilise
  • TradFi customer may be more price sensitive (re rebate on streaming fees)

Verto: Do we need index staking?

  • Noted that index staking is a good marketing tool for coop
  • Makes INDEX productive

Lemonade - I wouldn’t want native yield (“A little Ponzi like” ), much prefer DPI as income.*

*Lemonade - Should we bundle insurance with DPI?

Could get cover for 20% of the fund collapse (i.e. the value of a single component), in return for 2% premium.

Overall arguments against doing intrinsic productivity now:

  • Delay for coin shares roll out
  • Dev time
  • Too early
  • Need $DPI staking to control risk.

@setoshi @DarkForestCapital @verto0912 @LemonadeAlpha

2 Likes