A Simple Solution to Make DPI Productive

There has been a lot of discussion on enabling intrinsic productivity in $DPI. Overanalyser has written a number of thoughtful posts (see A simplified approach to Intrinsic Productivity and What is intrinsic productivity?). There has not been significant progress on the topic however, as the Index Coop has decided to prioritize other product areas.


Current Blockers to Intrinsic Productivity

Most discussions around intrinsic productivity have not led to meaningful progress because most solutions are relatively complex. They generally require new smart contracts and audits, or manual approaches which have some risk.

xToken: A Simple Solution to Intrinsic Productivity

I propose that we adopt an incremental approach to integrating intrinsic productivity into $DPI by leveraging xToken’s infrastructure. xToken has built ERC20 wrappers around a number of staking tokens that abstracts away the complexity of us having to build our own smart contracts around staking.

There have been prior discussions around leveraging xToken infrastructure for use in DPI, but there have been concerns that the infrastructure is relatively untested and liquidity is limited. However, xToken AUM and liquidity has increased significantly in the past month as they’ve introduced XTK, their governance token.

xToken has been live on mainnet for over six months with no hacks, has undergone a number of security audits, and has more than $20M in AUM. More importantly, there may be tax benefits for DPI holders if staking is done automatically vs a solution that involves manually generating yield through farming.

Adding xKNCa to DPI
I’m proposing that DPI substitute replace KNC with xKNCa. This would require no development work from the Coop and would immediately start generating a 10% yield on the KNC that $DPI holds.

Why start with KNC?

  1. It’s a relatively small portion of $DPI
  2. It’s a relatively simple staking contract and there is loads of liquidity - you can always convert xKNCa back to KNC

As a reminder on how Kyber staking works, KNC holders need to stake their tokens in the KyberDAO and vote in governance proposals in order to earn their share of staking and voting rewards. DPI does not currently vote with its KNC and so its KNC holdings are getting diluted approximately 10% annually.

xKNCa is a wrapper around KNC that always voters in favor of increasing staking rewards - this lets KNC holders put their tokens to work without having to check on governance proposals and spend gas voting. You can view the old xKNCa contract on Etherscan (xKNCa recently underwent a migration in anticipation of Kyber v3 for more detail on past performance.

Kyber’s CEO has endorsed xKNC

Next Steps

Given that KNC is a relatively small portion of DPI, this move will not have a tremendous impact on DPI price in the immediate term. However, it has limited downside risk and will immediately demonstrate that the Index Coop is serious about maximizing benefits for DPI holders. My hope is that the first of many steps towards making the underlying assets of DPI productive.

Disclosure: I’ve been working with the xToken team on their go-to-market strategy and hold advisory shares. That said, I have been a user of their products for more than six months (way before I started working with them) and I have real skin in the game, holding 10%+ of my portfolio in xAAVE and xSNX


I love xTokens and own several of them myself, but I think that using xTokens instead of manually staking has huge disadvantages when it comes to meta-governance. Currently, xToken supports three assets that are within the DPI: KNC, SNX, and AAVE. All three of these assets allow for staked tokens to be used in governance. This means if we build a custom solution for these assets, we will be able to generate yield without giving up our governance power. If we use xTokens instead, we will be receiving the same yield as a manual solution but would be giving away our votes. I think Meta-governance is one of Index’s strongest features, and we should not be giving it up when we do not have to.


Tagging @overanalyser who I know thought extensively about this. Would love his views and more colour in general. Pros & cons, risks, etc. Feels like a big topic yet I doubt many of us have sufficient understanding and information to make a decision.

This This feedback makes sense - it’s definitely not without downsides.

But building custom staking contracts is nontrivial and so far we’ve made zero progress to developing anything. I think that this gets most of the way there without having to invest substantial Coop resources in this

1 Like

I actually think that using xTokens won’t make the development process significantly easier. Writing contracts to allow a set token to stake its components is actually relatively simple. The Set team has even written a StakingModule that does a chunk of the work already.

The part of implementing intrinsic productivity that is much harder is managing what percentage of our total tokens will be staked. In order to ensure that there are enough unstaked tokens to allow for redemptions without being too expensive with gas, we must maintain a certain amount of the set’s supply of tokens in their raw, unstaked form. One alternative is to make 100% of the tokens staked (or xTokens), but this has the drawback of making issuance/redemption significantly more expensive, and it only gets worse as you add additional staking tokens. In order to prevent this, we have to do some very difficult accounting to manage the flow of tokens between their staked (or xToken) variants, and their normal versions.

So the way I see it, implementing intrinsic productivity is going to be a very difficult process, and will only be made marginally easier by using xTokens. This is why I think using xTokens is not worth it since we are losing our governance ability for relatively little benefit.

1 Like

OK, There are a couple of ways to approach intrinsic productivity, with different pros and cons.

Building the index from income-generating tokens is one way (which is what the new pie vaults are doing), the other way is to take part fo the fund treasury and farm the tokens (which is what I understand the v2 balancer contracts can do).

Things to consider:

Are income generating tokens more “Security like” than the native governance token? If so, does direct inclusion in the fund make the fund more “security like” and do we care?

I recall from a recent coop call it was commented that having a crypto native lawyer on retainer would be good to ensure we consider such questions

Does the proposed token have sufficient liquidity for issue, mint and redemption? Can our contracts access it? Can liquidation bots (i.e for collateral use of the fund token)?

xKNCa currently has $3.9M AUV, with $7.5 M in the uniswap pool. so the vast majority of xKNCa is sitting in that pool (Due to liquidity mining XTK). DPI currently holds $2.2 M of xKNCa, so access via the uniswap pool would result in huge slippage/arbitrage losses.

We can mint xKNCa directly as part fo a rebalance, but doing it as part of the issue / redemption contract would make them significantly more complex. This would impact arbitrage bots and so DPI is more likely to slip of NAV (one fo the benefits of a large DPI liquidity is that arbtrage become better at keeping us close to NAV.


Price oracles
How do you price the value of the xKNCa within DPI? Do you rely on the ratio to KNC generated by the xtoken market, or the uniswap liquidity pool price? Can these prices be manipulated by a market-based attack?

Accurate pricing is essential for the valuation od DPI vs NAV, efficient arbitrage for the price to NAV, and triggering liquidations.

Coingecko currently has no price data for xKNCa. They have historical data for xSNXa 9which has a longer history of higher AUM, and a balancer pool with reasonable liquidity), even then there are gaps in the historical data which implies no trades with the pool, so the price drifts off the NAV.

I looked at xAAVE and xSNX about 6 weeks go, and the coingecko prices don’t track the underlying tokens in a way I would expect. The higher AUM and liquidity should have improved this, but I think market price of the xtokens is still in-efficient (always check the market price when buying or selling xtokens).

Where does the risk / reward balance sit?
By using income generating tokens, all the rewards go to the fund token holders. However, that are also taking on all the risks (Xtoken smart contract risk and liquidity for redemption risks). Thsi is probably ok for DeFi natives (which is why some are happy to hold the PieDAO products), however, more cautious holders (DAO’s, institutions, collateral risk assessors) may avoid the additional risks.

Don’t get me wrong, I love the xtokens, and I would love to use them to capture some productivity for DPI, but I don’t see swapping a token for the corresponding xtoken as being viable at the moment. (Personally, I would start with a small proportion of xSNXa - the yields are tasty…).


Intrinsic productivity is coming in one form or another, The white paper I’m drafting has taken a back burner recently because I know that the Devs have been focused on Exchange issuance, CGI and FLI. I’m hearing encouraging nopises about the future availability :slight_smile:


@reganbozman this is a great post- awesome work putting this together.

This discussion sits at the intersection of two important community topics - Meta Governance and Intrinsic Productivity.

@ncitron makes a great point here. We do not want to lose our meta-governance capabilities in the pursuit of intrinsic productivity.

I agree with @reganbozman and share your frustration. This would be a huge lift and a add lots of complexity to our monthly re-balance of the underlying tokens. While staking our tokens is a best of both worlds approach (yield and voting) we will not be able to implement it in the short or medium term.

As @overanalyser is so fond of bringing up- liquidity, liquidity, liquidity! He makes a great point about managing arbitrage loss when buying xTokens that have relatively little liquidity. Currently low liquidity in xToken pools makes pricing difficult, until these markets become more mature it will be difficult for a product of our size to execute large buys orders without multiple un-intended and un-desirable consequences.

Summary of the core issues:

xTokens generate yield however we are essentially giving away our votes. Staking solves this problem but will be a massive technical headache to implement. If we do buy xTokens, current low liquidity will expose DPI to massive slippage.

We have a choice between Meta-Governance or Intrinsic Productivity. But does it have to be a choice?

$Index holds a massive amount of voting power. While currently not the single largest holder of the underlying tokens its not difficult to imagine a future when DPI is the single largest holder. If $Index continues to move in the direction we are moving this will likely happen sooner rather than later.

We don’t need to vote with 100% of the underlying tokens to still have a massive and powerful vote.

When considering that only the largest whales in the ecosystem have even close to our voting power the difference between us voting with 100% vs 75% of the underlying token becomes fairly trivial.

Token Sets can hold any number of tokens or any mix of tokens. Our discussion of xTokens vs Meta-governance does not need to be binary. We should explore taking a blended approach.

Blended approach outline

  1. $DPI holds 75% Governance Token X and 25% of that token’s xToken.

  2. The xToken acts as the floor token, meaning that it is not included in the monthly rebalance. This keeps us from having to constantly trade within a highly illiquid market.

  3. We set a ratio for Gov/xToken. If that ratio rises above or bellow a certain threshold (say >35% ) that triggers a rebalance at the end of the month.

This would allow us to keep the majority of our voting power and immediately start generating yield without adding significant complexity to the existing $DPI infrastructure. This would also allow us to grow our xToken buys as the underlying liquidity of xToken pools grows.

As $DPI grows in size we will need a lower % of the underlying governance tokens to have a big impact on voting. We can also adjust this ratio to include a higher % of xTokens as this happens.

This topic ties into three of my favorite things, meta-governance + liquidity + intrinsic productivity so I am excited for this conversation to evolve!

(also excited for long-awaited OA whitepaper!)

1 Like

Hey folks - Michael from xToken here.

Appreciate the spirited discussion on this. Wanted to clarify a few points on xKNCa.

  • Pricing xKNCa in KNC terms should be fairly straightforward. Reading the xKNC/KNC ratio directly off the xKNCa contract isn’t susceptible to any market-based attack because there is no oracle involved. It’s just the totalSupply of xKNCa compared to the total number of staked KNC in the contract

  • It’s definitely true that larger Uniswap orders (trades at the scale that DPI might currently demand) would subject holders to slippage. As an alternative approach as we work on improving secondary liquidity, integrating mint and burn directly on the xKNCa contract should be rather simple as integrations go. And as Regan mentioned, the xKNC contracts have full and immediate exit liquidity at all times, so there will never be a situation where DPI holders are forced into a haircut because of poor liquidity

  • The discomfort with relinquishing governance control is understandable. I would make two points here though. First, the KyberDAO governance framework is well-defined, meaning the proposals that come up for votes are mostly the same from epoch to epoch. xKNCa has a clear mandate to always vote for increased rewards to token holders. This mandate is consistent with the interests of DPI holders. Second, as it stands now, DPI holders are not able to participate in KyberDAO. Building the Kyber integration directly would require 4-6 functions (with varying complexity) compared to the two simple functions (mint/burn) required for the xKNC integration

I know there are some other concerns and comments in this thread. Happy to address anything else directly. Just wanted to keep this post from rambling on too long

1 Like

Hi @mjc716 thanks for hopping over to our forum. I am a huge xToken fan. I would love to see a future index built around xTokens and designed to maximize intrinsic productivity.

Liquidity issues around xToken purchases within the larger $DPI framework need to be further explored. The sheer size of $DPI adds a significant degree of complexity when it comes to replacing existing tokens with less liquid versions of the same. As $DPI scales the liquidity of the underlying tokens need to scale as well.

With that said, I believe this is a temporary issue that will be resolved as xToken liquidity grows. This should not be a major blocked for building xTokens focused indices.

The larger issue is governance control. The governance votes that $DPI brings to Index Coop need to be defended. While it is true that many of these votes are routine in nature and can be automated away under a mandate, we need further community discussion around this.

Index Coop is the dominant platform for Meta-Governance in DeFi. Any actions within the underlying index that remove voting autonomy from Index token holders needs to be closely examined. We can automate almost every aspect of these systems, however a human vote should always be bedrock upon which these automations are built.

My worry is that in our push for greater intrinsic productivity we significantly degrade our community voting power. We must not trade our voting autonomy in return for yield. Currently the majority of DeFi protocol votes are semi-routine and non-controversial. This may not be the case moving forward, and we must ensure our collective voice is not diluted.

$DPI is the conduit that will make Index Coop the dominant governance voice in DeFi. Giving away that voting power or placing it under a third-party mandate is something I simply cannot endorse. The risk is simply too great that in chasing intrinsic productivity we lose voting autonomy. I would much rather maintain our governance vote, even if that vote cannot be deployed on current infrastructure, than risk handing over that vote in its entirety.

I believe the best solution is too focus these energies on creating a new index built around intrinsic productivity and xTokens. This would maintain voting power within $DPI while giving us significantly more flexibility to truly focus on designing an index that maximizes intrinsic productivity.

I think BigSky makes good points here - meta governance is powerful and can be a big source of value accrual to $INDEX holders.

At the same time, these are purely theoretical justifications and feels like we’re making perfect the enemy of the good - we are not engaging in meta governance outside of Compound and not engaging in any governance on Kyber currently.

If we want to make that a focus, that’s fine - let’s do it. But otherwise we’re letting our KNC get diluted 10% annually for no real reason…