Governance Guide — How To Propose

Anybody with 1% of COMP delegated to their address can propose a governance proposal; proposals are simple or complex sets of actions, such as adding support for a new asset, changing an asset’s collateral factor, changing a market’s interest rate model, or changing any other parameter or variable of the protocol. This post is a visual, step-by-step guide on how create a governance proposal via Compound’s Voting Interface. 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 create a governance proposal as of today:

  • A web3 wallet
  • A delegation amount (votes) in excess of 1% from a single wallet address

Important proposal information:

  • If your proposal involves calling a new contract address, that work should be previously completed, and audited before creating a proposal.
  • All proposals have a pending period. This acts as a period for votes to set delegations prior to a proposal becoming active, at which point, it can be voted on.
  • Only the creator of a proposal can cancel it. This can be canceled up until the execute function has been called on the passed proposal.
  • For a detailed view of the states of a proposal, view this diagram.

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 you have over 1% of total votes (100,000.00000001) you will see a “Create Proposal” Button that leads to a simple interface to create governance proposals. For the sake of this guide, we will be focusing on this part of the interface.

Step 3 – Click “Create Proposal” to Start

Step 4 – Understand the Create Proposal Interface

  • The proposal creation page is broken down into two halves: the Proposal Description and associated Actions.
  • Each proposal is required to have a Title , Overview , and at least one Action.
  • To add an Action, click the ‘+’ button in the green “add action” bar.
  • Once everything is filled out, the “Submit Proposal” button will become active and you can submit your proposal.
  • There are many contracts and functions to propose changes to, but for sake of this walk through, we’ll focus on a single type of proposal.

Step 5 – Add an Action to the Proposal

  • You may add multiple actions to any proposal , but for the sake of this guide, we’ll only be adding one.
  • Because all proposals are executable code , the creation process is simply a selection of pre-defined dropdowns.
  • To start, click the ‘+’ button in the green “add action” bar on the right side of the screen.
  • The first part of adding an action to a proposal is selecting the targeted contract address for the action. You may select from the contracts used in the Compound Protocol or reference a new one. In this case, we’ll select the cETH contract.
  • Based on the chosen contract (cETH), we’ll now need to add a function we wish to change. In this case, we’ll select _setInterestRateModel.
  • Based on the chosen function, you may be required to enter additional inputs, in this case, to complete the proposal we need to provide a new interest rate model contract address.
  • Once all fields are completed, the “Add Action” button will become active (green) and you can add the action the the proposal.
  • You can edit all actions after adding them, but the current interface limits deleting an action. Simply refresh your page to clear the proposal and start fresh.

Step 5 – Add a Title and Overview to your Proposal

  • After all actions are added, you’ll need to provide a Title and Overview to describe your proposal. The more clear and concise these inputs are, the better. This is a great place to link audits, blog posts with further analysis or details, etc.
  • In the Overview section you can use Markdown to stylize your content.
  • Once filled out, the “Submit Proposal” will become active and your proposal is ready to be submitted into the Compound Governance system!

2 Likes

Thanks, @jayson, great guide. Do you have a guide specifically for the process of proposing a new asset?

I’ve so far just been looking at the May 2020 USDT vote as a point of reference.

Thanks!

Thank you very much for this thorough guide. It’s much needed for people like me who are currently exploring the governing processes in Compound and other protocols.