---
# System prepended metadata

title: Voting Wallet Setup

---

---
title: Voting Wallet Setup
order: 3
hideLanguageSelector: true
keywords: "makerdao, maker, governance, on-chain, off-chain, voting"
description: "A guide to voting on MakerDAO governance."
---

# 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.

<CTA>

See our guides to using other wallet types:

<List>

- [Linked Wallet Setup: Ledger Nano S](https://web.archive.org/web/20190112110248/https://medium.com/makerdao/how-to-setup-the-voting-contract-using-a-ledger-hardware-wallet-1f00d49ce43a)

- [Linked Wallet Setup: Two MetaMask Accounts](https://web.archive.org/web/20190112110247/https://medium.com/makerdao/how-to-setup-the-voting-contract-using-two-metamask-accounts-4e83e4fec602)

- [Linked Wallet Setup: Paper Wallets Using SETH](https://web.archive.org/web/20180913234419/https://medium.com/makerdao/guide-vote-proxy-setup-with-seth-f62397a10c59)

</List>

</CTA>

### 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](https://vote.makerdao.com/). Before setting up the contract, connect Trezor and MetaMask.

<Process>

<Box>

#### Connect MetaMask

Find the [“Accounts”](https://vote.makerdao.com/) 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZePgv9d5ZdowUC%2F3.png?generation=1581035631775549&alt=media)

</Box>

<Box>

#### Connect Trezor

In the [“Accounts”](https://vote.makerdao.com/) 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZghPnH23EGTDvu%2F4.png?generation=1581035607356870&alt=media)

![Select Address](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZirOJkwBvUo4Jc%2F5.png?generation=1581035637786497&alt=media)

The [“Accounts”](https://vote.makerdao.com/) drop-down menu will now show that both MetaMask and Trezor are connected.

![Accounts](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZmNPwBIdRjfIz1%2F7.png?generation=1581035610670091&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZoAANciAqCKKyQ%2F8.png?generation=1581035612093975&alt=media)

![Terms of Use](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZqfpHw8swWflSj%2F9.png?generation=1581035615747763&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZsTxL1-VvKqRRl%2F10.png?generation=1581035637457067&alt=media)

![Confirm voting wallet](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZu5rJ-sF4rjeE8%2F11.png?generation=1581035628142475&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZwRTGV5hDrP2Fn%2F12.png?generation=1581035637325304&alt=media)

![Select MKR balance](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BZyLeVpuzRHq-k1%2F13.png?generation=1581035629156322&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_-A6cFN0maKGXD%2F14.png?generation=1581035631836015&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_1zawnHeYziBJV%2F15.png?generation=1581035632576205&alt=media)

![Sign MetaMask transaction](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_3eXYxuV_8pN1D%2F16.png?generation=1581035633831159&alt=media)

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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_5LjE-vk1ZDLct%2F17.png?generation=1581035633197181&alt=media)

![Grant hot wallet permissions](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_7zDHvXCG3CL6_%2F18.png?generation=1581035631000944&alt=media)

</Box>

<Box>

#### Grant contract transfer allowances

Now, grant the contract transfer allowances for MKR tokens. Click “Next” and confirm the transaction on Trezor.

![Grant permissions](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_9CPCEc67whM6U%2F19.png?generation=1581035622363142&alt=media)

![Grant permissions](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_BLyhefSzMlEXA%2F20.png?generation=1581035630286008&alt=media)

![Grant permissions](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_F04evIhWF2KYz%2F22.png?generation=1581035636292872&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_HgImFBhzCi1hj%2F23.png?generation=1581035627167694&alt=media)

![Lock MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_J8B39g6rVh698%2F24.png?generation=1581035637121493&alt=media)

</Box>

<Box>

Once the transaction is confirmed, the Voting Contract setup is complete.

![Setup complete](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_LJ1AgmapcSbsr%2F25.png?generation=1581035630106881&alt=media)

Click “Start voting” to return to the main Governance Portal and to participate in [Governance Polls](voting.mdx#governance_polls) and Executive Votes](voting.mdx#executive_votes).

<CTA>

Learn more about voting in [How Voting Works](voting.mdx)

</CTA>

</Box>

</Process>

### 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.

<Process>

<Box>

To top-up the Voting Contract, make sure the cold wallet is plugged in. In the [Governance Portal](https://vote.makerdao.com/), select “Connect to Trezor” from the “Accounts” drop-down menu.

![Connect to Trezor](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_NzyWRvS3Bqx9i%2F26.png?generation=1581035609524050&alt=media)

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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_PgJ_2cfb8mEcn%2F27.png?generation=1581035635154041&alt=media)

Return to the [Governance Portal](https://vote.makerdao.com/) and click “Voting Contract” to bring up the secure voting menu. Select “Top-Up Voting Contract.”

![Manage Voting Contract](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_RCA0p-Geugf4x%2F28.png?generation=1581035630367084&alt=media)

Enter the MKR amount to add to the contract and click “Lock MKR.”

Approve the transaction on Trezor.

![Lock MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_TphNtZJs7PVsY%2F29.png?generation=1581035633326984&alt=media)

</Box>

<Box>

#### 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.”

![https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_XsMIzUe8G3NmN%2F31.png?generation=1581035619200246&alt=media](Manage Voting Contract)

Enter the MKR amount to withdraw from the contract and click “Withdraw MKR.” Approve the transaction on MetaMask.

![https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_ZPGd02dGqjhQT%2F32.png?generation=1581035631167127&alt=media](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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_aTfjzI_TLCFmC%2F33.png?generation=1581035624231453&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_cyf9OWPwLCTOx%2F34.png?generation=1581035634474124&alt=media)

Return to the Governance Portal and click “Voting Contract” to bring up the secure voting menu. Select “Break Wallet Link.”

![Manage Voting Contract](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_eYa-wA8X6ZD_t%2F35.png?generation=1581035635072070&alt=media)

If not done already, follow the prompt to withdraw any remaining locked MKR.

![Withdraw Remaining MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_ghHKl101i9zDa%2F36.png?generation=1581035623112731&alt=media)

Otherwise, click “Break Link” to close the contract. Confirm the transaction on the cold wallet.

![Break Wallet Link](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_il0LTZvYd4yqY%2F37.png?generation=1581035631335554&alt=media)

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.

</Box>

</Process>

## Single Wallet Setup

<CTA>

Prefer to watch a video? Check out the [Single Wallet Contract Setup](https://www.youtube.com/watch?v=nWhLzyhZV-Q&list=PLLzkWCj8ywWP6yCPPm1IRKysNsrzg3LQ6&index=6&t=0s).

</CTA>

<Process>

<Box>

#### Sync MetaMask

To set up a Single Wallet Voting Contract, make sure the [MetaMask](https://metamask.io/) 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_mFjumvzUFiqGB%2F39.png?generation=1581035635781869&alt=media)

Select “Set Up Now” on the highlighted section of the front-page to start the Voting Contract setup.

![Set Up Now](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_oCbcp2hnzSve7%2F40.png?generation=1581035637856399&alt=media)

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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_qsipD0d1a7I0V%2F41.png?generation=1581035632585274&alt=media)

![Terms of Use](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_s1MvyZ42zyaS5%2F42.png?generation=1581035634125979&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_u0OL8ZIxagqn0%2F43.png?generation=1581035612625294&alt=media)

![Grant Permissions for MKR Token Transfer](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_wO3bSUrPtw2s-%2F44.png?generation=1581035636500463&alt=media)

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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3B_yJ4XOVy-gyepb%2F45.png?generation=1581035617243006&alt=media)

![Grant Permissions for IOU Token Transfer](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3Ba-Yk4Hm63h_lDq%2F46.png?generation=1581035636569963&alt=media)

</Box>

<Box>

#### 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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3Ba1fPBFD1xqIf4y%2F47.png?generation=1581035633897640&alt=media)

![Confirm Lock MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3Ba3abKzsyFs8ymE%2F48.png?generation=1581035618434075&alt=media)

![Confirm Lock MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3Ba5fyTouqh4Uw0R%2F49.png?generation=1581035634402072&alt=media)

![Confirm Lock MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3Ba7LNhh7CZwLPxM%2F50.png?generation=1581035635726040&alt=media)

</Box>

<Box>

#### Setup complete

Once MKR is locked in the contract, the Voting Contract setup is complete.

![Set Up Complete!](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3Ba95Clp8shafocO%2F51.png?generation=1581035636800350&alt=media)

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.

</Box>

</Process>

### Managing the Single-Wallet Voting Contract

<Process>

<Box>

#### 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](https://vote.makerdao.com/), click “Voting Contract” to bring up the secure voting menu. Select “Top-Up Voting Contract.”

![Manage Voting Contract](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BaBIQSDStt2nQ6b%2F52.png?generation=1581035635126203&alt=media)

Enter the MKR amount to add to the contract and click “Lock MKR.” Approve the transaction on MetaMask.

![Lock MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BaDxSAgd57Kh_y_%2F53.png?generation=1581035632509496&alt=media)

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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BaFfmrnBofzsMwY%2F54.png?generation=1581035615004814&alt=media)

</Box>

<Box>

#### 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](https://vote.makerdao.com/), click “Voting Contract” to bring up the secure voting menu. Select “Withdraw from Voting Contract.”


![Manage Voting Contract](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BaHh0KCUI8XdtGi%2F55.png?generation=1581035630757402&alt=media)

Enter the MKR amount to withdraw from the contract and click “Withdraw MKR.” Approve the transaction on MetaMask.

![Withdraw MKR](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BaJ8v-fY2gSy640%2F56.png?generation=1581035621198838&alt=media)

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](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LfMBoUuZIjWKAx3JRdc%2F-M-S38P9VasfOu2vZpKb%2F-M-S3BaFfmrnBofzsMwY%2F54.png?generation=1581035615004814&alt=media)

</Box>

<Box>

#### 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.

</Box>

</Process>
