[MIP-8] Ranking system for token holders

Hello everyone!

MIP-8 “Ranking system for token holders” has been submitted to the Moonwell Governance Portal for on-chain voting. Though I did not submit this MIP, I did want to go ahead and create a forum post to give the community a space to discuss this proposal.

I would also like to take this opportunity to point out a couple of things. Firstly, as stated in the Proposals category of the Moonwell Docs and in the forum’s Governance Overview, proposals should generally begin with a forum post. Though it is technically possible, as we see with MIP-8, to submit a proposal on-chain without any prior deliberation, it is highly recommended that a forum post is created beforehand. This allows for the community to give feedback and help improve a proposal before voting begins. Governance is a collective effort, and as such we should try and leverage the tools at our disposal (forum, signal voting) to engage with our fellow community members and create the best governance proposals possible.

I would also like to make it clear that this proposal only contains a single contract call (on-chain action). This contract call would transfer 20,000 WELL tokens from the treasury wallet to the wallet of the proposal author. The other proposed actions included in MIP-8 (updating the rewards structure to account for WELL staked in the Safety Module), do not have code to backup/action these changes. If passed, MIP-8 would merely transfer 20,000 WELL tokens to the proposal author.


MIP-8: Ranking system for token holders

Currently the biggest utility of the well token is governance.

This proposal aims to increase the utility of the well token with the target of rewarding the most dedicated token holders and at the same time increase the amount of well tokens in the safety module.

So, what I propose is to have a ranking system that can be used to reward the well token holders that have well tokens staked in the safety module.

Currently there are 3 types of rewards when we supply an asset to moonwell:

  • Supply APY
  • Well rewards
  • GLMR rewards

I think it makes sense for the GLMR rewards calculation to take in account the amount of well token the user is staking in well safety module.

I propose 4 different rankings:

Base Ranking (0 - 1000 well staked in safety module):

GLMR rewards = Current GLMR rewards*0.5

Beginner Ranking (1000 – 3000 well staked in safety module):

GLMR rewards = Current GLMR rewards*0.8

Intermediary Ranking (3000-6000 well staked in safety module):

GLMR rewards = Current GLMR rewards*1.1

Advanced Ranking (more than 6000 well staked in safety module)

GLMR rewards = Current GLMR rewards*1.3


I think with this proposal we give one more step ahead in adding utility of the well token.

Hi guys!

I like this idea from pedro but i would like to see it first on apollo. Also i would change the tiers, 6k (~300$) well for highest level is not that much, imo.

Hi Majin,

Thanks for creating this post.
It was me that created this proposal, I guess this is the first time that someone from the community created a proposal (I’m guessing that the other proposals were created by persons related to moonwell or 3rd party entities also related to moonwell). I guess we all can learn from this and make the process of creating a proposal more efficient.

Like I already told in discord it would be good that in the screen where we create the proposal to have a field that would be required to be filled with the link of the forum thread.
Regarding the contract calls since I’m no developer I cannot make them, so it’s also something that should be more clear in the process of creating a proposal, since we might be preventing the community members that don’t have tech knowledge from creating the proposals.
Also there might be proposals that don’t need any change in contract calls and are just UI changes. Maybe we need to add more different type of proposals.

Finally regarding the proposal itself I’m happy to discuss it in here, and I just saw that I made a mistake in the proposal, the tiers that I wanted to propose were the following:

Base Ranking (0 - 100000 well staked in safety module):

GLMR rewards = Current GLMR rewards*0.5

Beginner Ranking (100000 – 300000 well staked in safety module):

GLMR rewards = Current GLMR rewards*0.8

Intermediary Ranking (300000-600000 well staked in safety module):

GLMR rewards = Current GLMR rewards*1.1

Advanced Ranking (more than 600000 well staked in safety module)

GLMR rewards = Current GLMR rewards*1.3


I’m completely ok that this proposal don’t go forward, but I’m really happy to start this discussion (not only about this raking system but also how to improve the process of creating a proposal).

Best regards,
Pedro Gonçalves

3 Likes

Hey Pedro!

Like I was telling you in Discord earlier, thank you for taking the initiative to create a governance proposal and being an active participant in Moonwell Governance, it’s great to see!

I also agree that it’s vital that the proposal creation process is streamlined and made more accessible to those who may be less technical or not have a solidity/smart contract development background. The Moonwell Market Deployer was recently created with just this in mind, as has a Proposal Verification tool (which creates a forked version of Moonriver/Moonbeam in order to execute code in a test enviornment before a proposal is passed and true on-chain execution occurs). There’s still more work that needs to be done to make governance easier, so please continue to provide the community with further suggestions/input.

Just an FYI, proposals that don’t require any changes to the code base (you mentioned UI changes) can be submitted as Snapshot proposals.

As far as cancelling your proposal is concerned, you are able to do this from the governance portal. If you go to MIP-8 and connect the wallet that created the proposal, you should see a “Cancel Proposal” button at the bottom of the proposal text. It’s your call if you want to cancel it, but it may not be a bad idea if you mistakenly input the incorrect tier requirements. It would also give the community additional time give their input/ask questions. Regardless of what you choose, I will keep this forum post open so that the community can contribute their proposal ideas/give any feedback they may have regarding the streamlining of the proposal creation process.

Hello pedro,

If u mistaken with numbers and digits, plz cancel it and resuggest it before vote passes.

Also i like ur idea, but wouldnt it be better ranking not from exact numbers but from relative percentage?

Down below is an example.

Base Ranking (top 100% ~ 75%):

  • GLMR rewards = Current GLMR rewards*0.5

Beginner Ranking (top 75% ~ 50%):

  • GLMR rewards = Current GLMR rewards*0.8

Intermediary Ranking (top 50% ~ 25%):

  • GLMR rewards = Current GLMR rewards*1.1

Advanced Ranking (top 25% ~ 0%)

  • GLMR rewards = Current GLMR rewards*1.3

According to the tokenomics, numbers of circulating tokens will differ through time and its hard to keep changing the number. So i suggest we doing this via percentages. Also we might need some new UI showing criterias of each tier.

What do u guys think?

Hey all,

Thanks all for the feedback and I agree that I should cancel the proposal.

I’ve just tried to cancel the proposal and I get the following error message from the transaction:
“Fail with error 'GovernorArtemis::cancel: proposer above threshold”

The transaction is the following:

I think with this, we are getting valuable insights of things that should be improved when someone from the community tries to create a proposal (this was also one of the main goals when I created the proposal to see how it works and how the team & community would react to this new scenario).

Let’s make this a great learning :slight_smile:

Can someone help me cancel this proposal?

Best regards,
Pedro

1 Like

Hey again Pedro,

Sorry to hear about your issue with canceling the proposal. I can’t say I’ve seen the "proposer above threshold” error before. I’ll forward this along and see if we can get it sorted for you.

I also agree that this is a great test/excercize in proposal creation and is spotlighting things that can be improved on!

Hi all!

I understand the reasons behind the proposal so thanks for proposing, but as others before me, I think the figures should be adjusted to take into account the current token distribution.

The idea would be to find a balance between rewarding holders and the profitability of the protocole.

Here’s what’s happening, Pedro. There is a check in the cancel proposal function that will only let a proposal be cancelled if the proposer (in this case that is you) has a WELL token balance below the proposal threshold. This is designed to allow anyone to cancel a proposal if the proposer too many WELL tokens during voting.

One way to get around this would be to transfer your WELL to another wallet, then try to cancel the proposal again. You can transfer them back once it is cancelled.

Let me know if you need any help with this.

2 Likes

Hi Luke,

Sorry I didn’t understood the problem.

So my balance is around 470,000.00 WELL (the majority are in the safety module and other are still locked from the private sale), so well bellow the proposal threshold (that I assume it’s the quorum : 100,000,000 WELL).

Can you explain how moving my well tokens to another wallet would solve this issue?

Also most of my well tokens are in the safety module, so I cannot transfer them since they are locked for 10 days before I can withdraw and the other one’s are locked from the private sale. Additionally I don’t want to move them to another wallet.

Best regards,
Pedro

You could move your stkWELL tokens (ERC-20 you receive when staking WELL in the Safety Module) to a different wallet. stkWELL tokens are automatically self delegated and by moving some of these tokens to a different wallet you would be lowering your voting power. If you moved more than 70k, you should be under the proposal threshold (400,000) and able to cancel the proposal. If you don’t want to move these tokens you can always just let the proposal play out and expire in it’s own time.

Hi Majin,

Thanks, now I understood what Luke was trying to explain.

But sorry this seems like a “workaround” and not very user friendly to me.

Let me check if I understood it correctly, so currently any person that wants to create a proposal needs at least 400,000 well (since I have 470,000 well I was able to create it), but then if I want to cancel the proposal that I’ve created I need to have under 400,000 well. So to cancel my proposal I need to be sending my well tokens to another wallet. What is the reason behind it? Is this written somewhere in the governance documentation?

Sorry to be annoying, but once again I think the processing of creating/cancelling a proposal can be improved.

After this proposal that I created expires or can be cancelled in a more understandable way, I will be creating two forum posts, one for the ranking system (now with the correct thresholds) and another one for improving the process of managing a proposal (creating/cancelling, etc).

I’ll be happy to help this project grow with my ideas!

Best regards,
Pedro

Hey Pedro,

You’re not being annoying at all! Nobody has had to cancel a proposal before in Moonwell Governance, so this has been a good learning experience for myself as well. It’s not written in the governance documentation yet, but Luke did share the code snippet from the Governor Alpha smart contract (this contract address is in the docs here).

require(_getVotingPower(proposal.proposer, sub256(block.number, 1)) < proposalThreshold, “GovernorArtemis::cancel: proposer above threshold”);

Though I agree it’s not very user-friendly/intuitive to lower voting power to cancel, it would probably be a good thing if you made the effort to do so, especially if you are going to end up resubmitting. That’s also a great idea to create a forum post to discuss ways that Moonwell Governance and the proposal creation/cancelation process can be improved! These sort of discussions are required to not only improve governance, but Moonwell as a whole. Bravo on sparking this discussion!

Just cancelled the proposal. After cancelling the proposal I found a couple of things that can be improved (like the button to cancel the proposal at the bottom still continues visible to me after cancelling it):

I’ll be creating two new forum post in the upcoming hours/days to start discussion about the ranking system (now with the correct thresholds) and another one for improving the process of managing a proposal (creating/cancelling, etc).

2 Likes

Sounds good Pedro! Looking forward to those new posts and digging into what we can do to improve the proposal creation/cancellation process.

1 Like

Proposal has been canceled and discussion moved to newly submitted MIP-8 Forum post.