✔️ MCCP 22: Disable underutilized dials


It is proposed to disable the first batch of underutilized dials in the Emissions Controller as launched with MIP 24 in order to avoid dust amounts of MTA, make the Emissions Controller calculation more efficient and less gas-intensive and focus on emissions towards revenue-generating products.


Dials receive votes from MTA stakers that decide the allocation of newly emitted MTA. Some participants choose to actively shift their allocation while others allocate once and allow it to be dormant. This creates a dynamic in which some of the dials receive fairly few votes from a few individuals that haven’t adjusted their weights in a long while.

The effect of it is that there are some dials that receive a very minor MTA allocation. This leads to very little (dust) MTA to be sent to the respective recipients without offering much in value for the protocol. On the contrary, it adds gas costs to send minute amounts of MTA and the users would likely not be able to claim it without paying substantially more in gas (therefore it’s likely to be locked in the Vault).


This proposal aims to streamline the process of the MTA emissions and to avoid subsidizing products that are underutilized, don’t offer much value for the protocol, and receive a small amount of votes only.

After successful implementation, the benefit should be that the Emissions Controller transactions are less in gas and that less MTA gets wasted and locked in Vaults that don’t get much usage.


The following dials are proposed to be disabled in the Emissions Controller (0xBa69e6FC7Df49a3b75b565068Fb91ff2d9d91780) on Ethereum Mainnet:

Dial Recipient address Dial Id
alUSD Feeder Pool Vault 0x0997dDdc038c8A958a3A3d00425C16f8ECa87deb 6
FEI Feeder Pool Vault 0xD24099Eb4CD604198071958655E4f2D263a5539B 8
HBTC Feeder Pool Vault 0xF65D53AA6e2E4A5f4F026e73cb3e22C22D75E35C 9
tBTCv2 Feeder Pool Vault 0x97e2a2f97a2e9a4cfb462a49ab7c8d205abb9ed9 10
Visor Finance 0xceF5df9d514bF0619c2ee87e2dDF1Af93FfAc0F6 16

Technical Specification

For each of the dials to be disabled the following function will be called from the ProtocolDAO multisig:

Emissions Controller (0xBa69e6FC7Df49a3b75b565068Fb91ff2d9d91780):

  • updateDial(uint256 _dialId, bool _disabled, bool _notify)
    • _dialId = See specifications
    • _disabled = true Changing the flag to diasble the dial
    • _notify = get the current value of the flag, set to the same value
1 Like

Thanks for posting this @dimsome and I am definitely in favor of this happening.

Do you know what will happen to the allocation of each user after the dials have been disabled?

For example, if I gave 5% to the alUSD dial, where will my 5% allocation go. Will it simply be distributed evenly across my other dials, or if I gave 100%, will it disappear entirely until I re-allocate?

Thanks for your question.

The function we automatically call every week is calculateRewards()

This function loops through each dial and gets the votes. For the disabled dial, the votes will not be calculated, therefore it receives 0. The votes for these dials also don’t get added to the totalVotes. Therefore, it’s the same as not voting.

The relevant part of the contract is here, in case anyone wants to verify:

1 Like

Strongly in support of this, the cost of alimenting those dials in MTA is higher than the actual MTA sent, it makes a lot of sense to focus the emissions on revenue-generating pools

gm Meta Governors,

this proposal has resolved almost unanimously in favour, and the ProtocolDAO will be queuing up these changes as soon as possible!

I will update you once again once the changes have made their way on-chain!

Happy Friday and have a great weekend everyone :smiling_face:

1 Like