Skip to main content

Ages & Epochs

Motivation

Usually, DeFi protocols schedule emissions and hardcode their reward system years in advance. This is not the case with Morpho. We believe that Morpho’s needs will quickly evolve and that a long-term emission schedule may turn out to be too rigid.

Thus, Morpho is organized in ages. An age lasts around three months and sets new rules for rewards emissions according to the protocol's needs.

Each age is subdivided into smaller periods named epochs. Epochs are checkpoints in the age where users can claim rewards (e.g., with a Merkle tree drop).

Rewards emission across ages

Starting from Age 3, a vote is submitted before the beginning of each age to decide the allotment of MORPHO tokens repartitions that will be distributed. Refer to the following documentation to see what has been chosen in the past and for the current age.

How it works

TLDR: amounts are calculated offchain but verified onchain.

Once the community has decided on rules for a 3-month age, anyone can compute the rewards earned by every user at each epoch. For example, one could look at emitted events to rebuild the state of a user in Typescript. We open-sourced a script for ages calculations.

With the script, one can compute a Merkle tree tracking the rewards of each user. The root of the tree is unique to the distribution and enables a trustless, onchain verification of the distribution. Here are the Merkle trees for the different epochs obtained when running this script.

The root of the tree is then put in the Rewards Distributor smart contract. When claiming their tokens, users interact with the contract which verifies if it corresponds to the tree.