[RFC] Index Owned Liquidity

Summary

Establish a convention for new Indexed.Finance Index products to contain a base currency token as part of the index to allow swaps into and out of the index using that base currency. This would substantially replace the need for providing liquidity for the index tokens by allowing each index to act as its own AMM and source of liquidity. Investors in the Indices would be encouraged to Mint/Burn from the base currency rather than swapping on 3rd party AMMs.

Motivation

Indexed.Finance concluded the Liquidity Incentive program in March 2022 and a long-term solution is needed to allow new and existing investors in Index products to be able to buy and sell the indices. Olympus style Protocol Owned Liquidity has been explored but would require selling NDX for bonding Index Liquidity Pairs at a time when NDX tokenomics are somewhat uncertain. By making a base currency (ETH, MATIC or USDC for instance) part of each index at a fixed weighting, we could essentially ensure that the base currency represents liquidity for the index at a fixed percentage (i.e. 20%) of the total index Net Asset Value. Removing reliance on liquidity providers or liquidity as a service would provide a high level of independence and decentralization for the indices. I would note that @pr0 already alluded to this concept in his recent proposal Flagship CC10 Index - A retail friendly index to track the market

Buy/Sell Impacts

Being able to rely on liquidity within each index would then allow a more streamlined user experience with 2 primary actions. For the purpose of these examples, we’ll imagine an Index called IOL which has 5 components including 20% fixed weighting for ETH:

BUY Action: Mint IOL Token from single swap-In of ETH
The user experience is that they provide ETH and in return get IOL tokens. The ask price for IOL from the index may be above or below the NAV depending on whether ETH is overweight or underweight in the index.

SELL Action: Burn IOL Token from single swap-out of ETH
The user experience is that they provide IOL tokens and in return get ETH tokens. The bid price for IOL may be above or below the NAV depending on whether ETH is overweight or underweight in the index. An exit fee would be collected and paid to the treasury (this needs validation, but I believe it is the current behavior for all burn operations.)

The following table illustrates the impact of the base currency weighting on the effective price that is offered when a investor buys or sells a token. An assumption is made that all other index components are at their target weights:

Base Currency Weighting BUY Action SELL Action
ETH is Overweight Index Offered at Premium to NAV Index will be sold at a Premium to NAV
ETH is at weight Index is offered at NAV Index can be sold at NAV
ETH is Underweight Index is offered at a discount to NAV Index will be sold at a discount to NAV

Indexed.Finance (Balancer V1 fork) Swap Mechanics

There is a very good detailed explanation of the Balancer V1 Pools here:

https://medium.com/balancer-simulations/understanding-balancer-pools-c2b877dcc082

An important excerpt relevant to this RFC is the following:

One of Balancer Pools’ most important features is the option to provide liquidity in only one token asset instead of the whole basket. This single-asset liquidity provision returns proportional pool shares. The number of pool shares is solely defined by the current supply of pool shares, the token balance and weight of the token added.
image
P _issued is the number of pool shares issued to a liquidity provider, P_supply is the current balance of pool shares (before liquidity provision), A_t is the amount of tokens added and B_t is the balance of tokens in the pool (before liquidity provision). Note that this formula applies only in case there is no swap fee.

This option to add liquidity improves the user experience for liquidity providers significantly. However, in contrast to a full-basket liquidity provision (liquidity provider supplies all assets in the pool*)*, this transaction affects the ratio of token balances in the pool — and as a result the price! Like in a trade, a swap fee is charged.

Open questions for input

This RFC is preliminary and needs further input before a full proposal can be developed, the following are immediate topics for consideration and discussion:

  • Gas Price for Mint/Burn vs AMM swap: We need to compare the gas impact of this approach on individual transactions vs. AMM swaps to make sure it is viable on ETH Mainnet
  • Base currency Selection: I think a reasonable convention here is that ETH would be the logical base currency for Mainnet, Matic for Polygon, and USDC or DAI in case of any stablecoin index
  • Sizing Liquidity in the Index: Some analysis is required here to determine what a suitable fixed weighting would be for the base currency in an index. If we assume the base currency toke is present for the purpose of liquidity only, then we likely want it as small as is needed so that the rest of the pool can be allocated to the core components of the Index. Observations in the most popular Balancer pools seem to support a 20% base currency composition.
  • Scoring Strategies: We currently have 3 scoring strategies implemented (ScoreBySqrtCMC, ScoreByCMCBarbell6, and ScoreByFiveWaySplit) and I’m not sure any of them are 100% suitable for this idea, probably ScoreByFiveWaySplit as used in FFF is the closest, but we probably would need something that is a combination of SqrtCMC with a Fixed weight element for the base currency.
  • Continued reliance on Uniswap V2 liquidity: It is a fact that the current platform requires Uniswap V2 liquidity for any index components, I don’t think any new constraints emerge, long term we should continue to look at Balancer V2 and the roadmap that @Norsefire published last year.
  • Nirm Compatibility: Nirn compatibility is not a requirement, but we should keep it in mind, I still think long-term that Nirn has a lot to offer, especially in the context of an Index designed to harvest lending market yield.
2 Likes

I very much like this idea, Indexed’s unique strength in my eyes has always been the ability to mint/burn the index tokens and I’d like to see this become the primary method of acquiring indexes.

Gas efficiency: while I believe is important can probably take a back seat as it’s mostly a nice-to-improve instead of a must-improve.

Base currency selection: I agree with your reasoning.

Sizing liquidity: Wouldn’t the base currency need to have a fairly large portion of the index to prevent large weight swings? my concern is that we’d be open to arbitrage opportunities fairly often and from smaller mint/burns.

Scoring: I’ve been a fan of the five-way-split design of FFF but I do agree a combination is probably required.

I’m not up-to-date on the last two points, but I agree Nirn compatibility should be kept in mind when choosing index constituents.

Might be a dumb question (I have basically just skimmed through the original message, sorry :sweat_smile:) would having a base currency and using that to trade/mint assets be similar to Bancor’s approach (where each token is paired with their native BNT token then exchanged through that base token)? If so would we be susceptible to the kind of “death spiral” Bancor has been facing the past few weeks with the market crashing?

@Kuza the sizing problem does need some analysis, the convention I am seeing is that liquidity should be 20% of the TVL. I’ve also noted that several protocols have adopted the 80/20 approach to liquidity pools for their governance tokens.
@gZeus the key is selection of the base token is to pick one that won’t go to zero and has broad liquidity and adoption. We would specifically want to avoid the BNT problem, so using NDX for instance would never be an appropriate choice. One could argue that a stable such as USDC or DAI is preferable over ETH as a base currency and I think that decision would depend on the nature of the index being formed. I think the list of tokens to use as a base currency would be pretty small.

2 Likes

Yeah, I’ve seen the 80/20 pools becoming more popular when it comes to pairing with project tokens. I think for the purposes of facilitating swaps as well as mint/burns somewhere in the 30 - 40% range is probably sufficient. Plus it’s likely the typical index investor would want to maintain a sizeable position in ETH.