Account Ownership
Governance structures are a wildly under-developed field in the realm of smart contract technology. The Abstract Platform allows for any custom governance type to be used with its chain-agnostic framework. While most developers appreciate an easy-to-use interface to control their dApps, Abstract opts to provide two fully integrated governance choices ( token-based and DaoDao integration coming soon) that ensure a seamless user experience.
When setting up governance for your dApp, you will be prompted to choose between supported governance types, Monarchy and Multi-signature.
Not interested in account ownership? Skip to our section on Modularity in Abstract.
Monarchy
In a monarchy, a single wallet has full control over the dApp. If you’re connected with a wallet, your address will be automatically inserted as the root user.
graph TD A[Single Account] -->|Controls| B(Abstract Account) style A fill:#161b25 style B fill:#161b25
Multi-signature
Multi-signature (“multisig”) governance is a governance structure that requires a subset of its members to approve an action before it can be executed. Though multiple multisig contract implementations exist, Abstract provides this functionality using the cw-3 standard with the goal of providing the most flexible solution to users.
Here are a few terms you need to know about when configuring your multisig:
-
Voter weight 🏋️♂️: The weight that the voter has when voting on a proposal.
-
Threshold 📊: The minimal % of the total weight that needs to vote YES on a proposal for it to pass.
graph TD subgraph Voters V1[Voter 1] V2[Voter 2] V3[Voter 3] end V1 --> A[Multisig Wallet] V2 --> A V3 --> A A -->|Controls| B(Abstract Account) B[Abstract Account] style A fill:#2c313d style B fill:#161b25 style V1 fill:#161b25 style V2 fill:#161b25 style V3 fill:#161b25
Let’s look at an example to make it clear how this works.
Example
Suppose you are building a DeFi platform using Abstract and want to implement multisig governance. You have five stakeholders, and you want at least 60% of the total voting weight to approve a proposal for it to pass.
-
Set up the multisig module in your dApp.
-
Assign voter weights to each of the five stakeholders. For instance, A: 30%, B: 20%, C: 20%, D: 15%, and E: 15%.
-
Configure the multisig module with a 60% threshold.
With this configuration, any proposal will require approval from stakeholders with a combined voting weight of at least 60% to be executed. This ensures a more democratic decision-making process and reduces the risk of a single stakeholder making unilateral decisions.