Skip to main content

Morpho Blue Rewards Emission

1. Jump on the Rewards Emission Data Provider contract:

E.g: Ethereum mainnet address is 0xf27fa85b6748c8a64d4b0d3d6083eb26f18bde8e

The EmissionDataProvider contract provides a streamlined method for tracking emissions of a specific ERC20 token within a rewards program operated on Morpho Blue. It allows users to set emission rates for various rewards tokens in different markets. Full repository here.

2. Set Emission Rates using the setRewardsEmission Function:

Utilize the setRewardsEmission function to establish or modify the emission rates. Ensure to provide the following parameters:

  • rewardToken: The ERC20 token address that will be used for rewards.
    E.g: 0x9994E35Db50125E0DF82e4c2dde62496CE330999 (MORPHO token).

  • urd: The address of the Universal Rewards Distributor (URD) responsible for distributing the rewards.
    E.g: 0x678dDC1d07eaa166521325394cDEb1E4c086DF43 (URD distributing MORPHO).

  • market: The identifier for the specific market where the rewards are to be distributed.
    E.g: 0xc54d7acf14de29e0e5527cabd7a576506870346a78a11a6762e2cca66322ec41 (wstETH/WETH (94.5%, AdaptiveCurve) market).

  • rewardsEmission: The structured data representing the number of reward tokens to be distributed per year for supply, borrow, and collateral aspects (in the reward token decimals).

    Structure of rewardsEmission:

    struct RewardsEmission {
    uint256 supplyRewardTokensPerYear; // Reward tokens per year for supply.
    uint256 borrowRewardTokensPerYear; // Reward tokens per year for borrow.
    uint256 collateralRewardTokensPerYear; // Reward tokens per year for collateral.

    E.g: supplyRewardTokensPerYear: 50000, borrowRewardTokensPerYear: 30000, collateralRewardTokensPerYear: 20000.

  1. The emission rates are effective immediately upon update.
  2. Remember to trust the source of the emission rates, as this process is not entirely trustless.
  3. All rates are defined annually. It's crucial to ensure that your rates align with the yearly distribution framework.
  4. The values for rewardsEmission have to be scaled with the number of decimal of the tokens (e.g in the exemple 18).

The EmissionDataProvider contract does not enforce strict ownership or permissions for setting rates. It's vital to establish governance or a trusted setup to manage the emission rates responsibly and to ensure that the rates set reflect the intended distribution policies.