READ FIRST: Proposal template with sample

Follow this template before writing your own proposal. Scroll down to see a [fake] sample proposal.

For the complete Governance Guide, see here.

Proposal Template

  • Authors : [Forum name/First name]
  • Summary : [2 - 3 sentences summary]
  • Motivation : [The value-add, or problem being addressed]
  • Specification & Requirements : [Detailed explanation of how this proposal will impact the protocol technically, socially, financially (if applicable)
  • Benefits : [2/3 benefits as to how the proposal implementation will advance the protocol]
  • Downside : [Disadvantages, if any, of implementing the proposal]
  • Voting : [Define what a “yes” and “no” vote entails. If there are any Snapshot votes or forum polls associated with this proposal, attach here]
  • Resources : [Links to other forum posts, snapshot polls, etc.]

Sample Proposal

Authors : beep, blooper55, fintechrulez

Summary : Goldfinch should integrate with BeepBoop, which will automatically allow minting of Thingamajig NFTs when someone supplies capital. This will draw more people to interact with the protocol. However, BeepBoop integration brings its own risks, as their protocol is relatively new.

Motivation: The community already loves Thingamajig NFT’s and is doing this minting anyway, at high cost. This integration will streamline an existing behavior for the community, and reduce costs for everyone.

Specification & Requirements:

Key Requirements

  • After supplying capital, a user will be able to immediately mint an NFT on BeepBoop.


At the time of supply, we’ll have to add in a hook, which then calls into the BeepBoop contracts. That happens here. It could look like this

function supply(uint256 amount) {
  uint256 mintId = BeepBoop(beepBoopAddress).allowMint(msg.sender);
  mintIds[msg.sender] = mintId;

Notice that the function returns an identifier which we’ll have to store. This will slightly increase gas costs, but only by X amount (5% above current levels), so it seems acceptable.

We looked into trying to avoid the gas costs, but after discussion with the BeepBoop team, we don’t believe there is another way. If anyone has ideas, we’re listening! As it stands, this seems an acceptable cost.

[Lots of other key technical info and tradeoffs…]


We know the community loves BeepBoop (see here). So that’s an obvious win.

However, there’s a risk that we’re shutting ourselves off from other NFT communities. However, we’re going to build it in such a way that the community could easily decide to integrate with other NFT communities later on if they like.

Financially, we expect this to increase total supplies to the protocol by at least 20% over the next year.

Benefits: This will incentivize and reward community members very generously for participating in the protocol, and attract even those who may not currently be into DeFi. In turn, this means that the community heads into a healthier and friendlier direction.

Drawbacks and Risks: Every new integration opens up potentially unknown attack vectors. BeepBoop has been audited once, but is still fairly new. It will require either us trusting that the first audit was great, or waiting a couple more months for more validation and a second audit.

Voting : YES vote: Integrate beepboop in our smart contract. NO vote: Do not integrate beepboop in our smart contract. [If there are any Snapshot votes or forum polls associated with this proposal, attach here]

Resources : See response to temperature check post: