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:
- 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)
- 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.
- 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.
- 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:
- Governance contract to remove tokens from DPI treasury
- A farming contract to hold the pooled tokens
- INDEX staking contract – rewards as INDEX with slashing
- DPI staking contract – with rewards as DPI or INDEX?
- LP staking contract - with rewards as DPI or INDEX?, Uniswap, and / or others?
- 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:
- Governance contract to remove tokens from DPI treasury
- A farming contract to hold the pooled tokens
- INDEX staking contract – rewards as INDEX with slashing – with a cool off time
- One income generating contract.
- 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:
- Unwind the farms, return all the deposited tokens to the DPI treasury (and the income to coop treasury ) and then rebalance the DPI treasury before redeploying the farm.
- 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:
- We have INDEX available that we want to distribute.
- Paying PDI rewards means that the is a risk of divergence in value compared to INDEX, so INDEX stakers may desire a higher % return.
- Streaming income is low (~$15,000) per month.
- 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:
- 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)?
- How much income do we want to provide INDEX stakers?
- How much Slashing risk do we want to put on INDEX stakers?
- How much DPI do we want to remove from the treasury for the initial farming operation?
- Which farming contract do we want to start with?
I look forward to you comments.
OA