This is a proposal to switch the incentive system used for the agEUR-USDC (mainnet), agEUR-ETH (mainnet) and agEUR-USDC (Polygon) to the Merkl system. This will not change anything technically for users and stakeholders of these gauges but will enable the underlying infrastructure distributing rewards to become more robust.
Context
As explained in the developers documentation here, since the month of August 2022, liquidity providers for the UniV3 agEUR-USDC (on Polygon and on Ethereum) and agEUR-ETH (Ethereum) pools are not rewarded through a staking contract distributing ANGLE tokens, but use an off-chain computation methodology specified here. Rewards depend on both how useful the liquidity provided is (how much fees are generated) and how many agEUR are in the liquidity position.
Rewards can be claimed on a MerkleRoot Distributor contract. So far, the Merkle root is updated every week by a bot, and the amount distributed to each address are posted on IPFS and can be found by anyone. Rewards distributed through this system do not expire and on top of this, liquidity providers may earn boosted rewards depending on their veANGLE balance.
If you look into the metrics of pool utilization and TVL obtained per $ of incentives spent, this distribution mechanism has so far been successful. It also enabled agEUR to maintain in-range liquidity even during periods of high volatility of the $ with respect to the €.
Given this success, we have launched with Angle Labs a standalone product based on this mechanism called Merkl. With Merkl, anyone can incentivize a pool with concentrated liquidity without having to handle the technical complexity of it. The infrastructure enabling us to do lives in parallel to the one used for Angle gauges. As it’s a standalone product, it was designed to be more robust, and also more scalable than the infrastructure.
In particular, while in Angle system, rewards are posted every week based on past week data. But in Merkl rewards could be posted every hours or once a day which makes the system easier to use for active LPs.
Proposal
The proposal is to switch the technical infrastructure behind the distribution of incentives for the gauges on UniV3 to the Merkl system.
Value to the protocol
Merkl is purely equivalent to the system currently used in the sense that it is also operated by Angle Labs and provides the same features (rewards based on the efficiency of the liquidity, boost for veANGLE), but it comes with two additional features (from a user perspective):
- rewards could be posted more regularly than once every week
- the system is more trustless in the sense that rewards can be disputed
The only difference is that people who have staked G-UNI tokens in previous Angle staking contracts will no longer be receiving rewards.
It’d also make only one single incentive system to maintain, and unify the infrastructure, thus reducing costs for operating this cutting-edge infrastructure system.
Implementation
Shifting from the current (legacy) system to the Merkl system implies putting a middleman contract that interfaces between the AngleDistributor
contract and the DistributionCreator
contract for Merkl. To do this, beyond deploying a middleman contract, an upgrade of the AngleDistributor
contract would be needed to enable it to distribute rewards to a middleman contract for gauges of type 0.
Rewards on the old system would still be claimable forever, and the front interface would enable people to claim their old rewards.