MakerDAO Voter Onboarding¶
Ready to participate in MakerDAO Governance? An active community of voters is critical to the health and security of the MakerDAO ecosystem. This guide outlines the conceptual and practical basics of getting started with voting in MakerDAO.
Why should MKR holders vote?¶
MakerDAO relies on its governance community to manage the Maker Protocol.
Successful governance helps grow the system and improves its long-term reliability, encouraging the widespread adoption of Dai. Malicious or negligent governance negatively impacts Dai and MakerDAO, which could cause financial loss to MakerDAO’s governors as MKR loses value.
Voting takes place frequently and requires a governance community who is actively considering what is best for the system. Winning votes can alter the governance processes and execute changes to the Maker Protocol, ideally ensuring Dai's stability while strengthening the system and its governance as a whole.
For more information, visit:
Information and Participation¶
To foster a healthy voting community, MakerDAO encourages its community members to stay up-to-date with current governance matters and to participate in public discussions. This process helps MKR token holders make well-informed voting decisions.
The primary source of information for MKR token holders is the Governance Forum, a venue dedicated to hosting discussions on governance matters. Diving into the forum may be daunting for new voters. To remedy this, the community has created a recurring thread called “Governance at a Glance,” which summarizes the world of Governance by providing a weekly three-point summary and links to active threads under categories like Active Discussions, Seeking Consensus, Ongoing Initiatives, On the Horizon, and Help Wanted.
Matters are brought into the Governance Portal following community consensus as signaled on the forum. Members are encouraged to review the latest topics and provide input when possible. For more detailed information on the signaling process, please visit these two threads:
Weekly public Governance and Risk calls offer another valuable source of information for voters. These calls are organized and hosted by MakerDAO’s Interim Governance Facilitator and explore a broad range of themes ranging from establishing core principles to discussing the latest publications from Risk Teams, governance proposals, analysis of Dai, etc.
Community members and other stakeholders are encouraged to explore the archived summaries, transcripts, video recordings, and audio recordings of previous meetings. The Governance and Risk meeting is a place for discussion and overview of current matters and does not function as a committee that makes decisions. Information about the schedule for Governance and Risk calls can be found on this public calendar URL, which also includes scheduled proposals and votes.
Resources¶
A collection of sources and materials useful for MKR voters:
Essential:¶
- Governance Forum
- Governance and Risk Meeting: Audio | Video | Transcripts | Summaries
- Ratified Foundation Proposal
- Voting Tutorial Video
- Governance FAQ
Governance Polling vs. Executive Voting¶
There are two ways MKR holders directly manage the system: Governance Polling and Executive Voting. Governance Polls establish a soft consensus and measure community sentiment, through time-based voting, while Executive Votes enact hard changes to the Protocol when passed, through continuous approval voting.
Governance Polls cover topics like rate adjustments, priorities for including new assets into the system, governance process changes, and mandates for new roles. Polls often run concurrently, allowing voters to participate in any number of them at the same time. Successful Governance Polls advance to the next stage of the governance process to undergo an Executive Vote. While poll results do not enact hard changes to the Maker Protocol, they play a vital role in how governance moves forward. Poll outcomes provide insight into voters’ preferences.
Unlike the Governance Poll, an Executive Vote “executes” hard changes to the Maker Protocol. Typically, voters will choose between the winning poll and no change. These votes enact hard changes to the system itself, so community participation is strongly encouraged.
The Governance Portal¶
The Governance Portal is MakerDAO’s voting application, which stakeholders use to vote and manage their voting contracts. The Executive tab hosts the most recently enacted proposal as well as active Executive Proposals. Similarly, the Polling tab lists current and previous Governance Polls. The Voting Contract tab lets users set up and manage their voting contracts.
The Governance Portal
The Voting Contract¶
The Voting Contract is the on-chain voting mechanism built directly into the Maker Protocol. To vote, MKR owners must "lock-up" tokens by transferring them into the Voting Contract. Votes are weighted based on the quantity of MKR locked in the contract. "Locked" MKR can be withdrawn at any time.
MKR token holders have the option to set up their Voting Contract with a single hot or cold wallet, or, as a linked wallet, for more secure voting. The linked wallet setup allows users to vote using a hot wallet, with MKR stored on a cold wallet.
Setting up a Voting Contract is a one-time action as long as the same wallet or wallets are used in future voting. However, to use another hot or cold wallet, the contract must be broken and set up again.
The Vote Proxy¶
The Voting Proxy Contract makes linked wallet voting possible. Best practice suggests storing tokens of any significant value offline as much as possible, typically on a cold wallet. With linked wallet voting, MKR holders can use their hot wallet to vote with MKR safely stored on their cold wallet.
The hot wallet has permission to manage the voting contract, but it does not have the authority to transfer tokens. If the hot wallet is compromised, the link can be broken from the cold wallet. MKR stored on the cold wallet is always safe and unaffected by a compromised hot wallet.
Users looking to avoid the Vote Proxy can vote from a single wallet by depositing directly into the voting contract. While single wallet voting is less secure, the initial setup is more convenient, especially if the value of the wallet’s assets is trivial, or hardware wallets are not available. Users who store MKR on MetaMask or other web wallets may find it to be the easiest way to start voting.
Find more information in the Maker Foundation’s blog post on the MakerDAO Voting Proxy Contract.
Contract Setup and Voting Costs¶
Transactions on Ethereum's network require paying gas, with prices varying based on network traffic. Setting up a linked-wallet Voting Contract takes four transactions for a total of approximately 1M gas. This cost is split between the hot and cold wallets, so ensure at least some ETH is in each wallet. Expect to spend about a dollar or two worth of Ethereum to set up a Voting Contract. Voting itself is a single transaction and usually costs a few cents per vote, but varies depending on network congestion.
Visit the ETH Gas Station for help estimating the Gas price.
Voting Wallet Setups¶
- Linked Wallet Setup: See the section below. (Recommended)
- Single Wallet Setup: Skip ahead.
Linked Wallet Setup¶
Vote with a Linked Wallet
The Linked Wallet Voting Contract can be set up using cold wallets like Trezor or Ledger, Paper Wallets using SETH or two MetaMask Accounts.
For illustration, this guide uses Trezor as the cold wallet and MetaMask as the hot wallet. The process is similar for other cold wallets. See the links at the end of this section for walkthroughs using different wallet types.
Trezor + MetaMask¶
Please have the Trezor wallet ready and the MetaMask browser extension installed and running. Log in and make sure the appropriate MetaMask account is selected.
Navigate to the Governance Portal. Before setting up the contract, connect Trezor and MetaMask.
Connect MetaMask: Find the “Accounts” drop-down menu on the right side of the top banner. If MetaMask is active, the current account will show as an available wallet. Make sure this is the correct account and select it to use as the hot wallet.
Select MetaMask Account
Connect Trezor: In the “Accounts” drop-down menu, select “Connect to Trezor.” The Trezor wallet must be plugged in for it to show up. Follow the steps to enter the Trezor’s pin and passcode. When prompted, select an address with MKR to use as the cold wallet. Click “Unlock Wallet.”
Export Accounts and Select Address
The “Accounts” drop-down menu will now show that both MetaMask and Trezor are connected.
Accounts
Return to the front-page and select “Set Up Now” to start the contract setup.
Set Up Now
Select “Vote with a Linked Wallet” from the menu. Read and agree to the “Terms of Use” on the following page.
Select a Voting Contract Type Terms of Use
On the following page, select MetaMask as the voting wallet. Click “Connect” to continue and “Confirm Voting Wallet” on the next page.
Select a Voting Wallet
Next, select a cold wallet, in this case, Trezor. Follow the steps to enter the Trezor’s pin and passcode. When prompted, choose an address with MKR. Click “Confirm Wallet.”
Note: The above step might be skipped if a cold wallet was already selected in the wallet drop-down menu.
Select Cold Wallet: Trezor
Now that the hot and cold wallets are selected, the following step initiates the link to enable hot wallet voting with MKR stored on the cold wallet. Click “Link Wallets.”
Link Hot and Cold Wallet
Sign transactions on Trezor and MetaMask to confirm the link. Click “Next” each time to continue and follow prompts to approve the transaction.
Sign Trezor and MetaMask Transactions to Link Wallets
To continue, grant the hot wallet permission to vote with the MKR stored on the cold wallet. Click “Next” and approve the transaction on Trezor.
Grant Hot Wallet Permissions
Now, grant the contract transfer allowances for MKR tokens. Click “Next” and confirm the transaction on Trezor.
Grant Transfer Permissions: Trezor
Once the transaction is confirmed, grant the contract transfer allowances for IOU tokens. Click “Next” and confirm the transaction on Trezor.
Grant IOU Permissions: Trezor
The final step is to “Lock MKR” into the voting system. Users may adjust the amount of MKR in their Voting Contract later by topping-up or withdrawing at any time with a single transaction.
Note: See the end of this section for instructions on how to top-up or withdraw from the voting contract.
Set how much MKR to lock in the contract and click “Confirm.” Always check to make sure the information is correct. Click “Confirm” again and approve the transaction on Trezor.
Lock MKR
Once the transaction is confirmed, the Voting Contract setup is complete.
Set Up Complete!
Click “Start voting” to return to the main Governance Portal and to participate in Governance Polls and Executive Votes.
To begin voting, skip ahead to the Voting Process section.
Other Linked Wallet Setups¶
See the links below for in-depth, step-by-step walkthroughs for other wallet types:
- Linked Wallet Setup: Trezor
- Linked Wallet Setup: Ledger Nano S
- Linked Wallet Setup: Two MetaMask Accounts
- Linked Wallet Setup: Paper Wallets Using SETH
Managing the Linked Wallet Voting Contract¶
Top-Up Voting Contract¶
For security reasons, locking additional MKR into the Voting Contract can only be done from the cold wallet, in this case, Trezor. To top-up the Voting Contract, make sure the cold wallet is plugged in. On the Governance Portal, select “Connect to Trezor” from the “Accounts” drop-down menu.
Connect to Trezor
Follow the steps to enter the Trezor’s pin and passcode. When prompted, select the address that is linked to the Voting Contract. Click “Unlock Wallet.”
Select Linked Cold Wallet Address
Return to the Governance Portal and click “Voting Contract” to bring up the secure voting menu. Select “Top-Up Voting Contract.”
Manage Voting Contract
Enter the MKR amount to add to the contract and click “Lock MKR.” Approve the transaction on Trezor.
Lock MKR
Once the transaction is confirmed, the contract manager will reappear. The MKR balance in the voting contract will update to reflect the changes.
Updated Voting Contract
Withdraw MKR from Voting Contract¶
Use either wallet to withdraw MKR from the Voting Contract and return the tokens to the cold wallet. For this example, the MetaMask hot wallet will withdraw the locked MKR. The process is similar when using a cold wallet.
Make sure MetaMask is running, and the account associated with the contract is selected. On the Governance Portal, click “Voting Contract” to bring up the secure voting menu. Select “Withdraw from Voting Contract.”
Manage Voting Contract
Enter the MKR amount to withdraw from the contract and click “Withdraw MKR.” Approve the transaction on MetaMask.
Withdraw MKR
Once the transaction is confirmed, unlocked MKR returns to the cold wallet, and the contract manager reappears. The MKR balance in the voting contract will update to reflect the changes.
Updated Voting Contract
Break Wallet Link¶
The wallet link can be broken from either the cold or the hot wallet, in turn, closing the contract. In case the hot wallet is compromised, the cold wallet can safely withdraw MKR from the contract before breaking the link.
Note: All MKR must be withdrawn before the link can be broken. Follow the instructions above to withdraw all MKR from the contract.
For this example, the cold wallet will break the wallet link. On the Governance Portal, click “Connect to Trezor” from the “Accounts” drop-down menu and connect to the Voting Contract’s cold wallet address.
Connect to Trezor
Return to the Governance Portal and click “Voting Contract” to bring up the secure voting menu. Select “Break Wallet Link.”
Manage Voting Contract
If not done already, follow the prompt to withdraw any remaining locked MKR.
Withdraw Remaining MKR
Otherwise, click “Break Link” to close the contract. Confirm the transaction on the cold wallet.
Break Wallet Link
Once the transaction is confirmed, the link is broken, and the voting contract is closed. To vote again, return to the Governance Portal to set up a new voting contract.
Single Wallet Setup¶
Vote with a Single Wallet
Metamask¶
To set up a Single Wallet Voting Contract, make sure the MetaMask browser extension is installed and running.
Navigate to the Governance Portal. Find the “Accounts” drop-down menu on the right side of the top banner. Select the appropriate account to use as the contract wallet.
Select Account
Select “Set Up Now” on the highlighted section of the front-page to start the Voting Contract setup.
Set Up Now
Select “Vote with a Single Wallet” from the menu. Read and agree to the “Terms of Use” on the following page.
Select a Voting Contract Type STerms of Use
The next page will ask to “Grant Permissions.” This grants the contract the ability to move MKR tokens. Confirm the transaction on MetaMask.
Grant Permissions for MKR Token Transfer
Click “Next” once the transaction is confirmed. The next page will grant the contract transfer allowances for IOU tokens. Confirm the transaction on MetaMask.
Grant Permissions for IOU Token Transfer
The final step is to “Lock MKR” into the voting system. Set how much MKR this contract will hold. A contract voting with more MKR has a more significant impact on the system. Lock in more MKR to top-up the Voting Contract later or withdraw locked MKR at any time with a single transaction.
Note: See the end of this section for instructions on how to top-up the contract, withdraw MKR, or break the wallet contract.
Click “Confirm” and check to make sure the information is correct. “Confirm” again and approve the transaction on MetaMask.
Lock MKR
Confirm Lock MKR
Once MKR is locked in the contract, the Voting Contract setup is complete.
Set Up Complete!
Click “Start Voting” to return to the main Governance Portal to participate in Governance Polls and Executive Votes.
To begin voting, skip ahead to the Voting Process section.
For a video walkthrough of the Single Wallet Contract Setup, see the link below:
Manage Single Wallet Voting Contract¶
Top-Up Voting Contract¶
To add MKR to a Single Wallet Voting Contract, make sure MetaMask is running, and the account associated with the contract is selected. On the Governance Portal, click “Voting Contract” to bring up the secure voting menu. Select “Top-Up Voting Contract.”
Manage Voting Contract
Enter the MKR amount to add to the contract and click “Lock MKR.” Approve the transaction on MetaMask.
Lock MKR
Once the transaction is confirmed, the contract manager will reappear. The MKR balance in the voting contract will update to reflect the changes.
Updated Voting Contract
Withdraw MKR from Voting Contract¶
To withdraw MKR from a Single Wallet Voting Contract, make sure MetaMask is running, and the account associated with the contract is selected. On the Governance Portal, click “Voting Contract” to bring up the secure voting menu. Select “Withdraw from Voting Contract.”
Manage Voting Contract
Enter the MKR amount to withdraw from the contract and click “Withdraw MKR.” Approve the transaction on MetaMask.
Withdraw MKR
Once the transaction is confirmed, unlocked MKR returns to the wallet, and the contract manager reappears. The MKR balance in the voting contract will update to reflect the changes.
Updated Voting Contract
Close Voting Contract¶
For a Single Wallet Voting Contract, breaking a link is not required. To close the contract, simply withdraw all MKR back to the wallet.
To vote with the same wallet later, return to the Voting Contract manager to top-up locked MKR. The wallet will retain contract permissions. Repeating the setup process is not necessary.
The Voting Process¶
Once the Voting contract is set up, return to the Governance Portal. Visit the “Polling” tab to participate in Governance Polls or the “Executive” tab to participate in Executive Votes.
For more information on Governance Polls and Executive Votes, click on the proposal for more details. For other frequently asked questions, visit our Governance FAQ.
Governance Polling¶
_ Governance Polling_
Executive Voting¶
_ Executive Voting_