To incentivize liquidity in centralized liquidity AMMs, Angle launched Merkl, a new mechanism platform for incentivizing Uniswap V3 type liquidity funds. Any DAO or individual can customize the type and method of incentivizing Uniswap V3 in Merkl, including setting their own allocation parameters to encourage stricter ranges, etc. With these new features, can Merkl become the most effective and flexible way to incentivize Uniswap V3 mining pools? Angle & Merkl Angle is a decentralized, capital-efficient and over-collateralized stablecoin protocol launched in November 2021. On September 28, 2021, it completed a $5 million seed round of financing led by a16z, with participation from Fabric VC, Wintermute, Divergence Ventures, etc. Angle can be used to issue stablecoins called agTokens, which are designed to reflect the value of the assets they are pegged to. The protocol consists of several different modules or sets of smart contracts from which stablecoins can be issued or minted. Angle, while launching its first stablecoin agEUR with a single minting module (core module), also introduced a lending module that allows borrowing Angle stablecoins as collateral. The protocol also participates in a direct deposit module, also known as algorithmic market operations (AMOs), allowing it to enhance the liquidity of agTokens in other protocols. Although the Merkl mechanism is built and maintained by Angle Labs, it is separate from the Angle protocol. What is Merkl Essentially, Merkl is a mechanism platform for incentivizing Uniswap V3 type liquidity funds, where liquidity providers (LPs) on Uniswap V3 and other types of AMMs with centralized liquidity can receive compensation from people (incentivizors) who incentivize liquidity in one or more pools. Incentivizors enjoy great flexibility in how to distribute rewards: they can choose to reward LPs who provide more single-token liquidity more, or they can also better reward LPs who set a tight range and earn more trading fees from their position. They can also choose whether to incentivize liquidity outside the range, or whether to let holders of certain specific tokens receive enhanced rewards. Using Merkl does not require any capital to be risked, nor does it require LPs to perform any specific smart contract interactions: they can retain liquidity while still receiving rewards.They can also customize their positions to maximize the benefits from fees and incentives, enjoying all the possibilities offered by the centralized liquidity type of AMMs. Merkl is compatible with liquidity position managers such as Gamma or Arrakis. This means that it is possible to provide liquidity on the pool through Gamma and receive rewards without doing any further actions (no need to stake Gamma or Arrakis tokens). Therefore, incentivizing a pool with Merkl is exactly the same as incentivizing Arrakis or Gamma tokens through a staking contract when there are no other liquidity providers on the pool. Merkl charges a low maintenance fee for incentives. There is no cost for liquidity providers to use the platform, except for the gas consumed when claiming rewards. How does Merkl run the new paradigm incentive? Merkl is based on an off-chain script that looks at the data of the incentivized pools on a given chain and calculates rewards for the stakeholders of all these pools. Based on this, the script aggregates all reward distribution data into a Merkle tree, which is then compressed into a Merkle root and pushed on-chain to allow LPs to claim their rewards. The script runs periodically and for a fixed period of time each time. This means that each time the script is run, it only looks at on-chain data relevant to this specific time period. Customizable Distribution Formula Strictly speaking, for a pool with two tokens (A and B), the script looks at the swaps that occurred in the pool during its run and calculates a reward score based on the fees earned during the holding period (representing the liquidity used by the pool), the shares of TOKEN A and TOKEN B held in the pool during the swap period. Incentivizers can assign different weights to each parameter, and can also further customize the pool's reward distribution by allowing addresses holding specific tokens (such as veANGLE or veCRV) to receive higher rewards. The exact distribution formula for the positions in this pool during a specific time period is as follows: Epoch Length & Dispute Period The time period (also called epoch) that the script runs in depends on the chain and is the actual time between two reward distributions. Epoch lengths are basically between 2 hours and 3 days, for example if Ethereum's epoch length is 1 day, then Uniswap V3 LPs can receive up to 10 new rewards per day on Merkl.Since Merkl is based on a script that aggregates all pools of all supported AMMs on the same chain, liquidity providers with liquidity for different pools can receive all rewards at once at the end of each epoch. In addition, since the system relies on a single Merkle root to handle distributions for each chain, liquidity providers can receive all token rewards (from different pools on potentially many centralized liquidity AMMs) in a single transaction. In order to allow anyone to participate in the system without approval, and to reduce the risk of the system being exposed to potential hacks or failures, each new Merkle root update is followed by a dispute period, allowing anyone to dispute the results. The new Merkle root that aggregates the reward distribution data of the chains is only valid after this dispute period. Disputes can be triggered by sending a predefined amount of dispute tokens (most likely agEUR) to the reward distribution contract. During the dispute period, the Merkle root of the reward distribution contract is frozen to its last valid version. The dispute can be considered valid, in which case the person who filed the dispute will receive a refund, the disputed Merkle root will be revoked, or invalid. In the last case, the person who filed the dispute loses their funds and the dispute period restarts from scratch (which means that the disputed tree is still not considered valid). The disputed token, amount, and length can be obtained by directly querying the contract that handles the constant reward. Fee Structure Merkl is free for liquidity providers to claim rewards, and a 3% maintenance fee will be charged when the incentivizer sends the incentive amount. This fee can be waived for pools that contain certain specific approved tokens. For example, rewards sent to a reward pool that contains agEUR or other Angle protocol stablecoins are not charged any fees. How do liquidity providers use Merkl to claim incentives? As a liquidity provider, Merkl allows users to customize their funding positions to optimize returns on AMMs such as Uniswap V3 by setting allocation formulas based on the incentivizer's pool. To obtain rewards listed on Merkl, you can provide liquidity directly on AMMs (such as UniswapV3) or on supported liquidity managers. The main choices you need to make when adding liquidity are: the width of the funding range and the split between the two tokens.Once liquidity has been provided, no additional steps are required to start receiving rewards. You will be able to claim them directly from the Merkl page or any other application that has integrated Merkl. In particular, you do not need to place your tokens anywhere else. How do projects use Merkl to distribute incentives? Any DAO or individual who wishes to incentivize a pool can use Merkl and customize its allocation to obtain the desired type of liquidity. Once you enter the official website, you only need to fill in the address of the pool to be incentivized, the address of the reward token, and the amount of rewards to be sent during the selected distribution period. The reward token needs to be whitelisted before use. For whitelisted tokens, a minimum amount needs to be sent for the allocation to be considered valid. If the reward token you want to use has not been whitelisted, you can leave a message to the official in the Merkl channel of the Angle Discord server. Then customize any customizable distribution formula parameters. Once completed, the application will prompt you to sign a disclaimer message and then publish a transaction that sends the tokens to the distribution contract. Addresses holding funds can claim rewards at the end of each epoch based on how they provide liquidity in the pool. Blockbeats reminder: Because there may be significant delays in on-chain Merkle root updates, and the scripts or infrastructure used to update on-chain results may be flawed, please decide whether to use Merkle at your own discretion.