-
Notifications
You must be signed in to change notification settings - Fork 238
Superfluid Governance Multisigs
The Superfluid protocol has a dedicated governance contract (TestGovernance on testnets, SuperfluidGovernanceII on mainnets), which allows to change important protocol parameters and to upgrade contracts.
Several protocol parameters can be set either globally or for specific SuperTokens:
- reward address (related to solvency mechanism, see docs)
- minimum deposit (aka buffer, see About-Buffer)
- 3Ps parameters (see About-3P)
- trusted forwarders (see EIP-2771)
- allowlist for Super App deployers (see About-App-Registry)
Additionally, governance can enable or disable Agreements and upgrade framework contracts implementing a proxy pattern.
Mainnet deployments of Superfluid protocol mostly use the battle tested Gnosis Multisig Wallet.
This multisig contract is deprecated, because it's not very modular and has some drawbacks like requiring an on-chain transaction for every signature.
It is (still) being used by Superfluid, because it's a simple, secure contract which doesn't depend on any off-chain infrastructure. It is thus by default available on any EVM chain.
The default UI is also deprecated. But since it's all open source, it can relatively easily be adapted if needed (e.g. for new chains, and so we did).
One major drawback of this legacy Multisig contract is that it can't take advantage of the ecosystem being built around the successor (Gnosis) Safe. Because of this, support for Safe has already been added to the ops tooling (see e.g. here).
The Superfluid deployment on the Base chain was the first to be governed by a Safe multisig contract: https://app.safe.global/home?safe=base:0xD8A05F504b5Ce16183D3e1e16FD6A365a8db53da
In order to find the multisig contract of a deployment, you can navigate to the console protocol page, select the chain of interest, open the explorer link of the Host contract, then navigate to "Contract" -> "Read as Proxy". Then look for the method getGovernance and click the address it returns.
That's the account owning the SF governance contract, on mainnet's it's a multisig contract.
At the moment, only members of the Superfluid team are multisig signers. That minimizes friction related to operations like contract upgrades.
We follow the model of progressive decentralization which initially optimizes for fast iterations, then gradually shifts to a more and more decentralized ownership model, until eventually also restricting what governance can even do (e.g. disabled upgradability).
We are still early in this process. After adding support for Safe in operational scripts, the next step is to add multisig signers on select chains.
If you are a stakeholder in Superfluid protocol, e.g. due to a popular integration, and willed to participate in governance, please get in touch.
- Governance Overview
- For Contributors
- Development Process
- Protocol EVMv1 Operations
- Protocol EVMv1 Technical Notes
- Protocol EVMv1 Core Subgraph