AIP 26: Consolidation of Tokens from Smaller Reward Pools

Summary

This AIP is consolidated from AIP 21.

It proposes to swap minor token pools (e.g. LINK, UNI) and consolidate them with larger token pools. These minor tokens hold significant value in the Rewards contract but is otherwise too small compared to the major tokens (e.g. wETH and USDT) to incentivize stakers to claim from these pools.

Rationale

Currently, there are 27 token pools in the Rewards Contract of which only the largest 4 to 5 pools are consistently being claimed from (Wrapped tokens: wETH, wBTC and Stablecoins: DAI, USDT, USDC). In order to extract value out of the smaller pools, they should be swapped and consolidated into the major token pools.

Specification

At the start of each voting cycle, all token pools worth more than USD1,000 (TBD) will be swapped into a single currency (or multiple currencies from the top 4/5 pools, TBD)

The threshold of each token pool for swap would depend on the gas fees. Swapping pools which are too small would require more gas than its own value to swap. If we can bundle multiple tokens into one swap that might help to reduce gas costs associated with this swap.

A further possibility would be to let this function be called at any time by anyone who wishes to increase the pool sizes before claiming. (Thanks to Don for this idea)

Another option would be to send them to a defi ‘savings’ account which could yield interest which would then be sent back to the Pool contract. (thanks to astholder for this idea)

Credits

Thanks to many people who have contributed this suggestion
@Lasse for the original idea - Discord
@Don for the idea of allowing anyone to call the function at any time - Discord
@astholder for the idea of storing it on a ‘savings’ account
@VladislavW @jortmoney and many others who participated in the discussions (please drop a comment below if I missed your name out)

Copyright

Copyright and related rights waived via CC0.

The idea to swap a small balances (for example >$1000 but < $4000) to one of the stable pools is not new and was discussed a few weeks ago. I guess it would be fair if you check a discord and add all participants of this conversation to the contributors.
As Don said not so long ago in Discord, i think that is better idea to add the button with opportunity for anyone to execute the transaction of specified pool conversion to stable one because it costs gas but the pool ETH balance is always zero and autoconversion will need multiple transactions (one to buy ETH and +1 for each pool to be converted that is about $40-100 in gas fees per transaction). Also the autoconversion function force the “fastest fingers” problem to appear again.

Yes this issue was split off from Aip21 which I wrote weeks ago as it was mentioned that we should not be combining multiple issues into a single vote. Happy to split the rewards as always of course.

Have you thought about taking the small value currencies and putting them in compound or something similar where they can earn interest? then the interest can be send to the eth and stable coin pools… that way the small value junk earns us interest…

Also was thinking of that but each compounding transaction would cost a lot of gas

Yeah this seems sensible and a good idea. To avoid a huge spike in one pool. I would suggest consolidating all the small pools into the top 4 pools wETH, USDT, USDC, DAI in proportion of their weighting. So for example

Top 4 pools were as follows:

wETH - $23,000
USDT - $22,000
USDC - $21,000
DAI - $18000
Total of top 4 $84,000

Pools over $1000 equals $12,000. The $12,000 is converted as follows:

wETH - 12,000 x 23/84
USDT - 12,000 x 22/84
USDC - 12,000 x 21/84
DAI - 12,000 x 18/84

I’m not sure as to the reasoning behind being able to call it anytime? I thought it would make sense to do this at fixed times say 1 week after a vote for example (this helps reduce fastest finger first). This is for two reasons:

  1. You may get someone call it just before they plan to claim and if others miss this, the pools are inflated briefly and then claimed by the person calling the consolidation

  2. It requires someone with the authority to consolidate the pools to constantly be checking the communication channels in case someone has called for a consolidation

I might be missing the benefit though?