Governance Guide — How To Delegate

The Compound Governance voting system works via delegation of votes, which is a built-in-feature of the COMP token. As a COMP token holder, you can delegate voting rights while keeping your COMP safe in your wallet, cold storage, wherever. This post is a step-by-step guide on how to delegate your votes and the options you have in doing so. This should act as a visual, intuitive guide to accessing Compound’s Voting Interface (if you have a COMP balance), and delegate your voting rights. If you’d like to jump ahead straight to the Voting Interface, you can jump ahead here. In addition, for a more technical understanding of what’s happening under the hood, please see our protocol Documentation.

Before we get started, let’s review the requirements to delegate as of today:

  • A web3 wallet
  • Having a COMP Balance

Important delegation information to know:

  • A wallet that holds COMP, but is undelegated cannot vote. Even if you’re planning to vote yourself, you still need to manually delegate or “self-delegate” to make those votes count.
  • If Alice has 10 COMP and delegates her votes to Bob, Bob now has 10 votes but cannot delegate those votes to Charles. You can only delegate votes if you hold the corresponding COMP for those votes.
  • If Alice is delegating to Bob and has 10 COMP in her wallet, Bob has 10 votes. If Charles sends Alice 10 more COMP, Alice now has 20 COMP and her delegation to Bob is automatically updated to 20 votes. No re-delegation needed if balances change.

Step 1 – Navigate to the Compound Interface and Connect your Wallet

  • Go to https://app.compound.finance/vote
  • When you first visit the interface, a pop-up modal will ask you to connect your Web3 wallet. We recommend using MetaMask, the most popular browser-based Web3 wallet.

Step 2 – Understanding the Compound Voting Interface

  • After connecting your wallet, you’ll see the main components of the interface: the Voting Wallet component on the left, Proposals on the right, and your Vote Balance on top.
  • The number of votes the connected wallet has is displayed in the center, large, on top of the dark background.
  • If Delegating, the Voting Wallet shows Votes Received , Votes Delegated , and the address that you’re Delegating To.
  • If Undelegated, the Voting Wallet shows Votes Received , COMP Balance , and that you’re Undelegated. For the purposes of this guide, we’ll be focusing on this next.

Step 3 – Understanding Delegation Types

  • To delegate, click the “Delegate” button in the Voting Wallet.
  • To begin, you’ll need to choose from one of the two delegation types: Manual Voting or Delegate Voting .
  • Manual Voting is what you want to choose if you’re going to vote on your own behalf.
  • Delegate Voting is what you want to choose if you want someone else to vote on your behalf. A good example of this would be an individual delegating to another protocol they liked to use, and believed in their same mission.
  • Unlike casting a vote, in the Compound Governance system you can change your delegation at any time.

Step 4A – Selecting Delegation: Manual Voting

  • To setup Manual Voting from an undelegated wallet, first click the big green “Delegate” button to open up the Choose Delegation modal.
  • For this part of the guide, we’re going to go through the Manual Voting flow.
  • After selecting Manual Voting, all that’s left is to confirm the transaction with Metmask and wait for the transaction to be mined. Select “confirm” in Metamask and you’ll be presented with a link to etherscan to view the transaction.
  • Once the ‘pending’ state has resolved on the Voting Wallet component, you’ll see the updated delegation address. In the case of the below screenshots, for Manual Voting, after the transaction is mined, you will see your Votes Received and Votes Delegated now become 100.

Step 4B – Selecting Delegation: Delegate Voting

  • To setup Delegate Voting from an undelegated wallet, first click the big green “Delegate” button to open up the Choose Delegation modal. Though for this example, we’ll assume we’re going from Manual Voting to Delegate Voting , which, is exactly the same flow.
  • For this part of the guide, we’re going to go through the Delegate Voting flow.
  • After selecting Delegate Voting, you’ll now need to provide an Ethereum address of whom you wish to delegate your votes to. If you know the address, paste it in and continue. If you need some inspiration, head on over to our Governance Leaderboard to see the top delegate and who they are.
  • Once you’ve entered a proper 0x address, you’ll see a green light indicator verifying the format and character account of the address. When both verified and you’re ready, select “Delegate Votes” to create the transaction.
  • You’ll now see a modal displaying the number of votes being delegated, and waiting for you to confirm the transaction (via signing an Ethereum transaction). Select “confirm” in Metamask and you’ll be presented with a link to etherscan to view the transaction.
  • Once the ‘pending’ state has resolved on the Voting Wallet component, you’ll see the updated delegation address. In this case, for Delegate Voting, you’ll see that you now have 0 votes, but that your delegated votes now match your COMP balance of 100.
  • Fun fact, over time, you’ll be able to track the address you’re delegating to in terms of their votes casted on previous proposals. If your delegate isn’t voting, delegate to someone else! You’ll be able to view this Voting History in the delegate profile pages found in the Compound Governance Explorer.

4 Likes

I am new to compound community and have a question w.r.t. the delegation process.
Is there a time period required between delegation and voting? e.g. does the delegation have to happen before a proposal is created in order to be counted as eligible votes towards that proposal?
If so, what is the time lag? Just anytime before the proposal created date? If not, could this create incentive for voters to collude during voting period?
Thank you!

Your thinking here is correct. You need to have votes delegated to your address the block before the proposal is created. If you delegate after a proposal is created, the vote weight in the newly delegated address cannot count towards that proposal vote.

2 Likes

@jayson Would definitely recommend updating this guide with https://comp.vote as it enables Compound users to do gasless delegation!

2 Likes

superb! thank you for the post!

1 Like