ve(3,3) Ouroboros: Part 1 - Fee Distribution

Fee distribution is a varied vertical within fee generating products.

Background

MakerDAO has buyback and burn. Fees accrued in DAI are used to purchase MKR off of the market, and then the MKR is burned.

Ethereum has “buyback” and burn via EIP1559. Buyback in quotes, since the fees are already accrued in ETH, so no reason to swap them to ETH, but in essence, this is the same.

Yearn has buyback and build. Vault fees are used to purchase YFI off of the market, and then used to incentivize builders.

Uniswap distributes all fees to LPs, none accrue to UNI holders.

Sushiswap distributes 50% of fees to LPs and 50% of fees to SUSHI holders who stake their SUSHI for xSUSHI. The 50% of fees is used to buyback SUSHI and distributed into xSUSHI.

Curve distributes 50% of fees to LPs and 50% of fees to CRV holders who locked their CRV for veCRV as stable coins.

Problem Statement

Token emission is considered a bootstrapping mechanism. When a protocol starts, it usually has 0 fees. In blockchains, you need security, this is provided via proof of work / proof of stake / etc, at the start of a network, it has 0 fees, now assume there were no block rewards, and only fees were distributed to validators, would you run a validator if you received 0 rewards? So instead, these chains are bootstrapped with block rewards, but the goal is for these block rewards to eventually stop, and fees alone should be enough incentives for participants.

Protocols are no different, they should use tokens to bootstrap whatever their incentivized goal is, for blockchains, this is security, for AMM’s, this is liquidity and/or fees (dependent on the design), for lenders, this is borrowing, and so forth.

The goal, is to align emission to incentives, the problem with a lot of current AMM designs, is that it is easier to incentivize liquidity, instead of fees.

If we consider popular AMM’s such as Curve or Sushiswap, they incentivize liquidity, however veCRV and xSUSHI holders receive fees.

At face value, this seems like a simple enough change, rather incentivize fees than liquidity, the problem is that this approach simply leads to wash trading, something we have seen in ~2018 with the iteration of “trans-fee mining” popularized by many exchanges at the time.

The goal itself though, is to simply give the most incentives (emission) to the liquidity with the highest fees. If we look at veCRV, as a veCRV holder, you will receive 50% of all fees, regardless of where you vote for emissions to go, so you might vote your emissions onto a pool that generates 0 fees for the protocol, but you still reap the reward of fees generated by other more active pools.

ve(3,3) ouroboros

We’ve established a few things;

  • Fees earned by the protocol should go to ve(3,3) lockers
  • Emission by the protocol should go to pools with the highest fees
  • ve(3,3) lockers decide which pools receive emissions

We want to align where ve(3,3) lockers vote, and ideally have them vote for the pools that generate the highest fees. To accomplish this, we simply need to add one modification onto the popular veCRV model;

ve(3,3) lockers receive fees only for pools they voted for.

This means, that ve(3,3) lockers will earn 100% of all fees generated, on pools they vote for.

This has a few benefits

  • It incentivizes fees for the protocol (and thus higher payouts for ve(3,3) lockers)
  • Emissions will promote the highest fee earning pools, which will increase liquidity on those pools to allow for better rates.
  • It aligns emissions with protocol incentives, allowing participants to self optimize the system.