Links
🍀

Staking and Uniswap V3 incentive mechanism

Earning rewards with Angle
ANGLE tokens are issued every week and distributed to different stakeholders of the Angle ecosystem based on what is voted by veANGLE holders here. Among other things, the protocol incentivizes Uniswap V3 Liquidity Providers of some specific pools.
The Earn page of the app lists all the yield opportunities linked to Angle and displays in particular the pools and farms where it is possible to earn ANGLE tokens. It is on this page that liquidity providers on Angle gauges (including Uniswap V3 pools) can claim their ANGLE rewards.
In this guide, we explain how to be eligible for ANGLE rewards as a UniswapV3 liquidity provider and how all LPs on gauges can claim their rewards.

Incentives for Uniswap V3 Liquidity Providers

Angle implements a specific mechanism to reward Uniswap V3 Liquidity Providers (LPs). This mechanism rewards LPs granularily according to the efficiency of the liquidity they provide. In turn, they have the opportunity to provide liquidity in the way they want and can fully benefit from the flexibility offered by Uniswap V3.
You can find more details on the mechanism in the original announcement. The Merkl product maintained by Angle Labs is a generalization of this incentive framework for any type of pool and of reward token.

Off-chain Reward Computation Script

Incentives going to Uniswap V3 pools are split between Uniswap Liquidity Providers depending on the usefulness of their liquidity (that is to say the in-range liquidity) as well as the amount of agEUR in their position. This methodology is based on an off-chain script that computes rewards for each address and updates a Merkle root (i.e summary) of the distribution on-chain once every week so that LPs can regularly claim their ANGLE rewards.
Practically speaking, the reward computation script looks into each Uniswap V3 pool directly and sees at each swap which addresses held the pool's liquidity as well as the amount agEUR in their position. It then computes computes a reward for each address with in-range liquidity based on the following parameters:
  1. 1.
    The share of fees earned by this address, telling the virtual liquidity provided
  2. 2.
    The share of agEUR they hold compared to the total pool size
  3. 3.
    The share of the other token they hold compared to the total pool size
These parameters are then adjusted by a boost according to the veANGLE balance of each Liquidity Provider.
The exact formula is then as follows:
[0.4×(fees earned by the position / fees earned by the pool)+0.4×(agEUR in the position / agEUR in the pool)+0.2×(other token in the position / other token in the pool)]×veANGLE boost[0.4 \times(\texttt{fees earned by the position / fees earned by the pool)}+ 0.4 \times \texttt{(agEUR in the position / agEUR in the pool)}+ 0.2 \times \texttt{(other token in the position / other token in the pool)}] \times \texttt{veANGLE boost}
One big difference with incentives mechanisms relying on wrapping Uniswap V3 positions into ERC20 is that with this mechanism LPs can provide liquidity on any range they want, and any Uniswap liquidity manager can be integrated.
For example, a tight range will virtually provide more liquidity and earn more fees and ANGLE rewards. However, it has more chance to become out-of-range and suffer from impermanent loss.
UniV3 LP on Angle

Providing liquidity

As a LP, you can provide liquidity directly on Uniswap V3, or with any of the integrated Uniswap position manager. Liquidity do not need to be staked or put in any specific contract for it to be eligible to rewards.
Currently, the protocol has integrated Arrakis and Gamma, which means that if you deposit liquidity on Uniswap through Arrakis or Gamma, the reward computation script will automatically detect that you are involved in the Uniswap V3 pool.
When you are going through a liquidity manager, make sure to understand how they manage your liquidity, and if the positions are in-range. If they are not, you will not be earning ANGLE rewards.
For example, Arrakis manages liquidity passively, and agEUR/USDC has some times been out-of-range. Gamma does an active liquidity management, and rebalances the ranges regularly. You can find more information on the Gamma's side here.

FAQ

How can I be eligible for the ANGLE rewards?

By providing liquidity on any of the Angle Uniswap V3 pools incentivized on the app Earn page, either directly through Uniswap, or through Arrakis or Gamma. Note that you do not need to "stake" your liquidity anywhere to be eligible for ANGLE rewards.

What do I need to do if I was previously staking?

If you were previously staking through Arrakis/Gelato, you are still earning ANGLE rewards if the Arrakis position (agEUR-USDC example) is in-range.

Is out-of-range liquidity being incentivized?

No. Only in-range liquidity used during swaps is being accounted for to receive incentives.

When can I claim my ANGLE rewards?

ANGLE rewards from the past week can be claimed once per week, every Thursday. Rewards accumulate if you don't claim them, meaning you can leave your liquidity idle for a while without claiming: your rewards will not be lost.

Where can I claim my rewards?

On the app Earn page (more below), or directly from the MerkleRoot Distributor contract.

Why is my APR is different from what is displayed?

Your actual APR depends on the volume of the pool, the range you are providing liquidity on, and the price of the pool.
These are not constant and vary continuously.

What is the Boosted APR?

The Boosted APR is the APR you earn when holding enough veANGLE to get the max boost.

Which pools are concerned?

Currently the Uniswap V3 pools that are eligible to this system are the following:

Claiming ANGLE tokens

The App Earn page leaves multiple options for claiming your ANGLE tokens if you're involved in a gauge of the protocol:
  • Claim from multiple gauges in one transaction by clicking on the Claim Rewards button on the right. When using this modal, you can select/unselect the gauges you want to claim rewards from and then:
    • Claim ANGLE: this claims your ANGLE rewards from all the selected gauges (except the UniswapV3 related ones) in one transaction.
    • Claim and Lock ANGLE: this claims your ANGLE rewards from all the selected gauges (except the UniswapV3-related ones) in one transaction and lock them into your existing ANGLE lock. This increases your veANGLE balance and doesn't affect your lock expiration date. NB: this is only possible if you already have ANGLE locked. You can lock ANGLE here.
Claim rewards modal
  • Claim from a specific gauge by clicking on the Claim button in the modal below the input:
Claim button
  • Rewards obtained by providing liquidity on Uniswap V3 need to be claimed through another button available on this page
Claim UniV3
Last modified 23d ago