Vote Delegation UI Release

The DUX core unit is happy to share the soft-launch release of the voting delegation UI in the Governance Portal! As always we welcome your feedback or bug reports.

The initial forum discussion describing voting delegation can be found here:

Features released

  • Addition of the delegates page

  • Ability to delegate and undelegate MKR into a delegate’s contract

  • Recognize a wallet’s delegate contract

  • Ability to vote as a delegate

  • Creation of delegate’s profile page

  • Dark mode

  • ENS name resolver (for accounts only)

Technical diagram

Known issues

When you become a delegate, you can only operate as a delegate. You will not be able to vote with a vote proxy, for example. In the future, we will add capabilities for switching between your delegate and your normal account, but for now, this is limited in the UI. Of course, managing via the smart contract access is still possible.

Upcoming Releases

In upcoming releases, the following features will be implemented:

  • Filtering and sorting of delegates

  • Inclusion of last voted date by a delegate

  • Navigate easily between delegates profile pages

  • Improving delegate profile information

  • Dynamic participation metrics

  • Export profile information

  • Testnet migration to Goerli from Kovan

Additional links


Thanks to all of you for your hard work over the past months!


And congrats with the first release as the new DUX team! :raised_hands:

The first one is the most challenging :).


I get lost for a couple of days in the forum, and I see this beauty displayed, how great, really leaves me super impressed, you are a tremendous team, keep it up. :exploding_head: :flushed: :sunglasses: :partying_face:


Incredible work, thank you for putting so much effort into this. :raised_hands:


Thanks DUX, it looks amazing!

Is it possible to have an additional feature?

Many MKR holders will never bother to read the Delegate Profiles or listen to interviews. They just want to delegate quickly and go on to do other things. This will especially be the case if delegation is ever incentivized.

To assist this group while preventing randomness I would like the following feature:
Neutral Delegate: The neutral delegate option is just like another delegate except that any MKR delegated is divided evenly amongst the other delegates. This prevents lazy MKR holders from making a mess of the delegation process by just randomly selecting someone from the list.


Neat idea Planet! Might make life easier for some folks. Let’s see what Gov Alpha thinks–or, if some in the community think arbitrariness can be risky (thinking out loud)

1 Like

Is an interesting idea. Is something that should be designed carefully because there are some edge cases.

  • The neutral delegate / or community vote, would not distinguish from recognized or shadow delegates. Because at smart contract level, all are the same.
  • The amount should be distributed proportionally to the actual amount of MKR that those delegates already have. MKR can not be distributed evenly among all delegates because anyone could exploit this by deploying many new delegate contracts.
  • The neutral delegate contract would be specially complicated for executive votes, because there are scenarios where the amount of MKR in the neutral contract would change between a delegate staking in an executive and the next delegate staking. So, it could impact differently on different votes.
  • If the MKR was to be distributed among the delegates, that would mean paying a lot of transactions and that would be expensive. The alternative would be having a contract that votes proportionally to what all the MKR delegates are voting (based on their MKR amount). That also would be expensive to do and has edge cases.

Probably the best idea is to delegate your MKR in 3 or 4 different delegates if you are not very sure about what to vote on.

If we had the governance layer on L2 it could be cheaper to do, but it is still pretty complicated. Probably people from the PE core unit can explain more about this.

:rocket: Thanks for putting the idea on the table, we added it to our list of things to think about


The front end knows which are which though, and the front-end constructs the transaction. Feels like it could handle this?

If we can lock it to Recognised Delegates, this is not a problem.

Oh! I see the confusion now, you’re imagining there would be a neutral ‘forwarding / management’ contract. I was picturing this without a contract, and just the UI splitting some MKR between x delegates.

Yeah, this was my concern as well. The more divisions, the higher the cost.

I wonder if it would make sense to have buttons that do something like:
“Split my MKR equally between the three lowest-weight recognised delegates (with metrics > x, not expiring in a month?)”
“Delegate my MKR to the lowest-weight recognised delegate (with metrics > x, not expiring within a month?)”

Feels like that is maybe as close to lazy-safe as we can get?

Looks great, super smooth UI! Great job you guys :smiley:


Thanks! This is very exciting! Well done!