HomeLearnContributeFundingForumChat
    HomeLearnGovernance
    Voting Wallet Setup
    Voting Wallet Setup

    Learn how to set up your digital wallet or wallets to vote on MakerDAO governance

    Maker (MKR) token holders may set up their Voting Contract with a single hot or cold wallet, or, as a linked wallet.
    The linked wallet provides a more secure setup enabling users to vote with a hot wallet while their MKR remains stored on a cold wallet.

    Linked-Wallet Setup

    The Linked Wallet Voting Contract can be set up using hardware wallets like Trezor or Ledger, paper wallets using SETH, or two MetaMask Accounts.
    Setting up a Voting Contract is a one-time action as long as the same wallet or wallets are used in voting.
    This guide uses Trezor as the cold wallet and MetaMask as the hot wallet. The process is similar for other cold wallets.
    See our guides to using other wallet types:

    Setup with 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.
    1

    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
    2

    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
    Select Address
    The “Accounts” drop-down menu will now show that both MetaMask and Trezor are connected.
    Accounts
    3

    Agree to Terms-of-Use

    Select “Vote with a Linked Wallet” from the menu. Read and agree to the “Terms of Use” on the following page.
    Selecting a Voting Contract type
    Terms of Use
    4

    Confirm Voting Wallet

    On the following page, select MetaMask as the voting wallet. Click “Connect” to continue and “Confirm Voting Wallet” on the next page.
    Select voting wallet
    Confirm voting wallet
    5

    Select a cold wallet

    In this case, select the 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 a cold wallet
    Select MKR balance
    6

    Enable hot wallet voting

    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 wallets
    7

    Sign transactions

    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 transaction
    Sign MetaMask transaction
    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
    Grant hot wallet permissions
    8

    Grant contract transfer allowances

    Now, grant the contract transfer allowances for MKR tokens. Click “Next” and confirm the transaction on Trezor.
    Grant permissions
    Grant permissions
    Once the transaction is confirmed, grant the contract transfer allowances for IOU tokens. Click “Next” and confirm the transaction on Trezor.
    Grant permissions
    Grant permissions
    9

    Lock MKR in the voting system

    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
    Lock MKR
    10
    Once the transaction is confirmed, the Voting Contract setup is complete.
    Setup complete
    Click “Start voting” to return to the main Governance Portal and to participate in Governance Polls and Executive Votes.
    Learn more about voting in How Voting Works

    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.
    1
    To top-up the Voting Contract, make sure the cold wallet is plugged in. In 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
    2

    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
    3

    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

    Prefer to watch a video? Check out the Single Wallet Contract Setup.
    1

    Sync 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
    Terms of Use
    2

    Grant permissions

    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
    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
    Grant Permissions for IOU Token Transfer
    3

    Lock MKR in 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\ the Voting Contract or withdraw locked MKR at any time in 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.
    Confirm Lock MKR
    Confirm Lock MKR
    Confirm Lock MKR
    Confirm Lock MKR
    4

    Setup complete

    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.

    Managing the Single-Wallet Voting Contract

    1

    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.
    In 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
    2

    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.
    In 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
    3

    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.