✔️ MCCP 24: Reduce weekly MTA emissions


It is proposed to reduce the emissions of the Emissions Controller from the specified in the MIP 24 to a simple linear function, extending the emissions schedule from 6 years to 12. The goal of this proposal is to decrease weekly emissions and therefore reduce the selling pressure of MTA.


The Emissions Controller distributes an amount of MTA per week, according to what Stakers vote using dials. The amount of MTA to be distributed per week is a result of a polynomial function (specified in MIP 24), which ends up distributing 30M MTA throughout 6 years.

As was discussed in this forum post, emissions are currently a problem for MTA holders because they are going to farmers that provide liquidity and sell their rewards to improve their yield, instead of increasing decentralisation. Therefore the emissions are not used in the intended way.

This proposal suggests updating the emissions controller and reducing overall weekly emissions by 45%, changing the emissions curve to a linear function and extending emissions of the same amount over 6 more years.


Liquidity mining programs have proven to be ineffective for achieving long-term, sustainable growth, resulting in a loss of liquidity when they are ended and a lower token price due to liquidity providers selling the reward token to increase their yield. At the same time, the market conditions have changed, and many protocols are ending these programs. This proposal aims to protect MTA holders’ capital and Treasury by reducing the overall weekly emissions.


MTA emission schedule

It is proposed to change the distribution of the remaining 24.5 Million MTA over 12 years instead of 6, starting from 25th August 2022 (which is epoch 37) and ending on 24th November 2033 (epoch 624).

The weekly distribution schedule of the 24.5 Million MTA is defined by the following linear equation:

f(x) = -Ax + B


A = 141,142,065,475,643

B = 88,072,648,856,801,500

x = epoch.

This will quickly reduce the amount of MTA being distributed each week in order to end at 0 by the last epoch, reducing instantly the emissions by ~45%. If for any reason the implementation of this was delayed one or two weeks, the parameters in the linear function would be adjusted to maintain these two characteristics: (i) the last epoch, the MTA to be distributed shall be 0 and (ii) there shall be 624 epochs of distribution (12 years). This can be seen in the following chart:

Technical Specification

The Emissions Controller contract on Ethereum mainnet follows the proxy upgradable pattern with the following address: 0xBa69e6FC7Df49a3b75b565068Fb91ff2d9d91780

The current implementation of the Emissions Controller on Ethereum mainnet is deployed to the following address: 0xebfd9cd78510c591eda8735d0f8a87414ef27a83.

A new implementation contract of the EmissionsController.sol will be deployed with the following constructor arguments:

An Instance of the EmissionsController.sol will be deployed with the following constructor arguments:

  • nexus = 0xAFcE80b19A8cE13DEc0739a1aaB7A028d6845Eb3 (Nexus Contract)
  • rewardToken = 0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2 (MTA Token)
  • TopLevelConfig = { A: 141142065475643, B: 88072648856801500, C: 0, D: 0, EPOCHS: 624 }

A and B are used for the new linear distribution schedule. C and D are no longer in use but have to be defined in order to match the storage pattern of the proxy contract.

The EmissionsController.sol will be updated in the following way:

  • function topLineEmission(uint32 epoch) public view returns (uint256 emissionForEpoch) change to a linear emission function as specified above.

The new implementation contract should remove the initialize function as the proxy has already has the storage data. The EmissionsController still needs to implement Initializable to preserve the storage slots in the proxy contract.

1 Like

I am all for it! Combined with MCCP 23 this would make the emissions so much more efficient and less lossy for us.

But also to note that this is just something we do for now, but we have to continue to improve and find a better solution at some point.

1 Like

I am for this proposal, as it will significantly increase the emissions runway, and allow for much more controllable emissions long-term.

Feeling also that this might be an opportune time now to move the entire remaining earmarked MTA emissions currently stored in the TreasuryDAO into the EC contract. This is a remaining task we haven’t yet done in order to test the resilience of the contract first.

This will then complete the decentralization effort of the Emissions Controller away from the TreasuryDAO, and allow for all remaining emissions to be managed ad-hoc in proposals like this without further intervention by the TreasuryDAO.

Boolish on this :innocent:

1 Like

Fully support this proposal. Much needed.

Reducing overall weekly emissions by 45% is the best way forward to protect sell pressure on MTA in these uncertain market conditions.
All for it

1 Like

Looks good to me, in favour of this proposal

Thanks @nesk, definitely supportive of this. I would be very happy to see emissions extended over a longer time horizon to allow more sustainable incentivisation of future products.

1 Like

I just slightly edited the A and B values to consider a more realistic scenario for the new calendar of emissions to be productive on August 25th instead of 18th, as the whole governance process might take an additional week than expected.

Against. Because this proposal doesn’t paint the full picture. It is seeking to reduce ~45% of the 50% emissions marked for the community. However, the other half of MTA emissions continue to remain unchanged. I doubt the sell pressure is coming from MTA stakers making 7% APY. It is most definitely coming from early investors that receive 100k+ MTA every week with 0 skin in the game. Unable to post the link here but please refer to the google spreadsheets doc. Why should only the stakers/MTA users/community agree to take a cut but early investors get to keep dumping with 0 change in intensity/volume of dumps?

1 Like

Thanks @Camel for the response. Appreciate your concern here

You’re right that early investors received a substantial amount of MTA tokens. They invested before the launch of mStable so did take risk. It turned out well for them and there has been some onchain activity from some investors does come across as mercenary. The bottom line is that these agreements cannot be changed. So as governors we need to look at whats possible and what can be changed, hence looking at the emission controller dials. The incentives aren’t actually working in growing our products, rather just keeping TVL relatively stable. The price of MTA has been severely impacted. This has been compounded by market conditions. We need to take actions to protect the value of MTA, and this is one big way we can do that


gm everyone,

this vote has resolved almost unanimously in favour, and we’ll be implementing these changes in the coming days!

Thank you all for shaping mStable’s future together! :innocent:

gm everyone,

For the record: I just edited the proposal to change the number of epochs from 612 to 624. All the calculations were done with 624 which is exactly 12 years and the double of the current number of epochs, which is 312, but I got confused when typing and made a mistake.