How to setup the Voting Contract using a Ledger Hardware wallet

In this step by step guide, we are going to talk you through setting up a Voting Contract, which you need to do in order to vote, using a Ledger Hardware Wallet and MetaMask. Locking MKR into a voting contract allows you to keep your MKR stored in your Ledger wallet but make it available to vote with online.

This tutorial uses MetaMask as a hot wallet, so please ensure you have the MetaMask browser extension installed before continuing.

Before we continue, you need to ensure your Ledger device has enabled ‘contract data’ and ‘browser support’. You can check this by connecting to the Ethereum app on your Ledger, going to settings ,’contract data’ and ‘browser support’. Ensure both are set to ‘Yes’.

When you first arrive at the Governance Voting Dashboard, you will see a banner at the top to setup a voting contract. Before clicking to setup your contract, we first need to connect our Ledger and a MetaMask account.

For MetaMask, ensure you are logged in and have selected the appropriate account you wish to use as your hot wallet. This should now be available as one of the available wallets in the account dropdown.

To connect your Ledger, click the ‘Accounts’ dropdown (which may now be filled with your MetaMask and part of your public address), and select ‘Connect to Ledger’. You will need to ensure your Ledger is plugged in, unlocked, and connected to the Ethereum app in order for it to show. Choose ‘Ledger Live’ or ‘Ledger Legacy’ from two available options depending on which one you use. On the next screen, pick the Ledger account which your MKR is stored in. Your Ledger account should now be connected. Before continuing, ensure this Ledger account is the one selected from the accounts dropdown.

Now you’re ready to setup your voting contract.

The first step is to select ‘Set up now’ from the top banner titled ‘Welcome to the governance voting dashboard’. This will open a window into the first introduction step for setting up your contract. Just hit ‘Great get started’.

Just before you setup your voting contract, you will need to accept the terms of service for the Governance Voting System. Just click ‘accept’ to continue.

Now you’ve accepted the terms, the next step is selecting your hot and cold wallets you want to use. Your hot wallet should use your MetaMask account. For your cold wallet, ensure your Ledger wallet, and the correct wallet address is selected. Once selected, hit ‘Link Wallets’.

Once you have clicked ‘Link Wallets’, you will now see a message asking you to ‘Approve transactions’ on your Ledger. At this point, switch to your Ledger and you will need to accept three times. First you need to Confirm Selection’, followed by Confirm Parameters’ and finally Confirm Transaction’.

Once confirmed, you will see your window change to ‘Transaction Confirmed’. Clicking ‘continue’ will take you to a confirmation screen explaining that you have initiated a link between your hot and cold wallets. You have not created the voting yet, just created a link between the two wallets. To complete the voting contract setup, click ‘Approve’.

This will now create a transaction on your hot wallet (MetaMask) which needs approving. Either click on the MetaMask extension or it should open automatically to approve the transaction. Once approved, you will see the window ‘waiting for the confirmation’.

Now you have created the voting contract and the link between your hot and cold wallet, you need to grant the voting contract permission to move your MKR into the voting contracts, a capability you can revoke at any time. Just click ‘Grant’ to continue.

The next step is to lock your MKR. You should now see the window screen to lock your MKR. If you have continued to this point with your MetaMask account selected, you may have to close the window and switch to your Ledger account.

Please note that only MKR that is locked into the voting contract counts towards the vote, and any MKR not locked will not be counted into the final vote count.

Once you have entered how much MKR you wish to lock, and you’re ready to lock your MKR, hit ‘Lock MKR’ button and again confirm the three transactions on your Ledger — ‘Confirm Selection’, followed by ‘Confirm Parameters’ and finally ‘Confirm Transaction’.

Once you have completed Locking your MKR, or you decided to skip this step, you should now notice you have a new section of text where the setup banner once was. This is detailing your Voting Contract, how much MKR is in your contract and cold wallet, and a status about your current vote.

If you decided to skip adding MKR straight away or want to increase the amount of MKR in your voting contract, you can move MKR into the voting contract from the new contract header seen above. To add MKR, click ‘Top-up’ alongside the ‘In voting contract’ value on the left hand side. This will open a new window with an option to set how much of your MKR you want to include.

Once you have Locked your MKR into the voting contract, you are ready to vote. For instructions on how to vote, as well as finding your way around the rest of the dashboard, please click here.

If you have any questions, we’re always here to help either on our subreddit or chat.makerdao.com.

Happy Voting!