Skip to main content

Governance Plugins

How to Build a Governance Plugin

One of the most common use cases for plugins are governance plugins. Governance plugins are plugins DAOs install to help them make decisions.

What are Governance Plugins

Governance plugins are characterized by the ability to execute actions in the DAO they have been installed to. Accordingly, the EXECUTE_PERMISSION_ID is granted on installation on the installing DAO to the governance plugin contract.

grant({
where: installingDao,
who: governancePlugin,
permissionId: EXECUTE_PERMISSION_ID
});

Beyond this fundamental ability, governance plugins usually implement two interfaces:

Examples of Governance Plugins

Some examples of governance plugins are:

  • A token-voting plugin: Results are based on what the majority votes and the vote's weight is determined by how many tokens an account holds. Ex: Alice has 10 tokens, Bob 2, and Alice votes yes, the yes wins.
  • Multisig plugin: A determined set of addresses is able to approve. Once x amount of addresses approve (as determined by the plugin settings), then the proposal automatically succeeds.
  • Admin plugin: One address can create and immediately execute proposals on the DAO (full control).
  • Addresslist plugin: Majority-based voting, where list of addresses are able to vote in decision-making for the organization. Unlike a multisig, everybody here is expected to vote yes/no/abstain within a certain time frame.
note

More tutorials on how to build governance plugins coming soon.

© 2024