Following from a conversation in Discord:
The incentives have been very suboptimal and with the high gas prices, refreshes have been less frequent. As a result, the DAO is incentivizing users to deposit in lower-yielding pools, which in turns reduces the value of performance fees collected by the DAO.
In short: Relying on users to rebalance → consistently suboptimal IDLE speeds → poor incentives → reduced revenue.
To fix this, I believe we can implement a process that monitors certain conditions, and automatically refreshes IDLE reward speeds when those conditions are met. If the expected additional revenue over some finite time period is greater than the gas costs, then the app should automatically trigger a refresh to maximize fee revenue.
This would be a complicated calculation with several assumptions, but here is a simplified version of the concept, using just 2 pools, to demonstrate feasibility.
- The DAO gets 10% of APR as a performance fee.
- At time writing, sUSD Best is earning 44.71% with $1.2M deposited and pays 26 IDLE per $1M deposited; while USDC Best is earning only 11.98% with $49M deposited and pays 51 IDLE per $1M deposited. Much more money is in the USDC pool, even though it has a lower interest rate, in part because the USDC pool earns more IDLE and therefore greater combined earnings.
- For those two pools combined, each day the DAO earns about $1,768 in performance fee revenue.
- If we refreshed reward speeds right now, it would shift IDLE rewards rate from the USDC Best pool to the sUSD Best pool. This would incentivize depositors to move from USDC Best to sUSD Best. We don’t know how much of the pool would migrate, but for the point of this argument, let’s say half, about $24.6M.
- With more funds now in the higher-earning pool, assuming the interest rates stayed the same for one more day, the DAO would earn an additional $2,200 revenue per day after refreshing.
- At the moment, a refresh costs $867 in gas costs, so even after costs, this active refresh strategy would increase revenue by $1,333 per day, 75% more (!!!) than the current strategy of not refreshing.
- In addition to increasing revenue for the DAO, I believe this proposal, if implemented, will also improve user satisfaction, knowing that their IDLE earning incentives will be aligned, and that the rewards can’t be manipulated by large depositors looking to refresh only at times that benefit them, while relying on high gas fees to prevent small depositors from refreshing themselves.
A few acknowledgements:
- This example is simplified; I have not attempted to model it yet over more than 2 pools
- This example assumes that interest rates remain constant. In reality, they fluctuate constantly. I don’t have data for this, but anecdotally, I have observed that the IDLE rewards per deposits have consistently been misaligned with potential performance fees, for at least the last several weeks.
- Because the refresh costs gas up-front while rates fluctuate, refreshing too often or at the wrong times could result in a net decrease in revenue. I believe this can be mitigated with some controls using EMA and StDev of each pool’s APY, resulting in a statistical confidence interval that can be used in the refresh algorithm to ensure that the interest rates will hold for long enough to be worth the gas costs.
I do not have the technical capabilities to test or implement a fully-functional version of this proposal, so I call on the community to develop the auto-refresh algorithm and implementation to boost revenue and increase alignment between IDLE holders and users.