MTA Staking V1: Voting Weights and Rewards

The nuts and bolts of Staking V1

Onur Solmaz
mStable
4 min readSep 25, 2020

--

We have recently announced MTA Staking V1. Here, we give a quick tour of the nuts and bolts of Staking V1, so that MTA holders to choose the staking strategy that best suits them.

Voting

The primary function of MTA staking is to participate in the governance of the mStable protocol. Two main factors determine an MTA holder’s weight in voting: staked amount and time commitment. MTA holders commit themselves to the governance process by locking up their MTA, for a minimum of 1 week and a maximum of 1 year. The more they stake and the longer they lock up, the higher their weight. We calculate it as follows:

We use the symbol vMTA to denote a user’s voting weight. Although we represent it like a token, it cannot be transferred to someone else.

The staking contract keeps track of remaining_lockup in real-time without any user intervention. According to the formula, voting weight is topped up at the moment of deposit, and starts decreasing linearly afterwards.

User stakes 100 MTA for 6 months at time = 0. Their voting weight decreases linearly as time progresses, and vanishes completely at lockup expiration. (Lockup time is actually counted in seconds, but we have used months here for the sake of demonstration.)

In other words, no lockup = no skin in the game. For that reason, voting weight decays linearly, and drops to zero at lockup expiration. After that point, the user can withdraw their stake, but they cannot vote.

Finally, during a vote, voting power is computed by dividing the user’s voting weight by the total voting weight:

Earning

Staking rewards are distributed according to a different weighting system, in order to prevent it from being too unfair. For example, if we were to use voting weights for reward distribution, a user who locked up X MTA for 52 weeks would be able to earn 13x more rewards than a user who locked up the same amount for 4 weeks. Since we don’t want that much difference in earning power, we scale down the lockup period by taking its square root:

Now, the user who locks up for 52 weeks would earn √(13)≈3.6x more rewards than the user who locks up for only 4 weeks. Then, the “multiplier” for earning power between different lockup periods can be computed by dividing their square roots:

1 week: 0.5x
1 month (4 weeks):
1x
3 months (12 weeks):
1.4x
1/2 year (26 weeks):
2.5x
1 year (52 weeks):
3.6x

If you have been paying attention, you would notice that we use the latest lockup period this time, instead of remaining lockup period. That means earning weight does not decay like voting weight, and is changed only when the user increases their stake or lockup time. If you lock up and don’t touch your stake until expiration, your multiplier remains the same. However, your earning power (i.e. your share of the rewards) can still be diluted, as it is affected by the weight of others:

Similar to vMTA, we denote earning weight with the symbol pMTA, and it cannot be transferred to others.

Shrinking Lockup Window

In Staking V1, the lockup window shrinks with time. That is, users can only stake for 1 year immediately following the V1 launch, and no lockup that comes after this can be longer than 1 year. We compute maximum lockup time at week t as

For example, the maximum lockup will be 11 months after 1 month, 9 months after 3 months, and so on, until Staking V2 is launched.

Conclusion

We have tried to elucidate the governance and incentive structure of the first version of staking in the mStable protocol. This is only a taste of what is to come in V2. If you have any suggestions for V2, you can post them as proposals in our forum, or talk to us on Discord.

Access the Governance App Here

--

--