Actions today can set you up for success tomorrow.
admin
address with full control. But there’s a better pattern emerging, one designed for modern protocols that want to launch fast and decentralize responsibly:
Use both an admin
and a governor
address.
This pattern gives you flexibility today and trust tomorrow.
admin
address is the super admin of the protocol and has full control over the protocol. This is the address that will be used to upgrade the protocol and to respond to emergencies. It can also be used to change parameters, move funds, and pause the protocol. It can do anything. It’s the super admin.
The governor
address is the community interface and has limited control over the protocol at the beginning. It should be configured to manage the treasury and upgrade protocol parameters. Then as the protocol matures, the governor can be configured to manage more of the protocol.
However, by having the admin
address in your backpocket, if you need to make a change and don’t want to wait for the standing proposal lifecycle, you can do it. Or if there is a bug in the implementation, you can upgrade the implementation and keep the protocol running without waiting for a proposal to pass or an embarassing proposal to be executed.
admin
address.
Once you and your community get comfortable you can start to move more power to the governor.
Then when the time is right, you can move the admin role to the governor and burn the admin address, completing the decentraliztion process.
admin
is the only address that can call upgradeTo()
and change the underlying logic.
Initially, this should be a secure, well-controlled multisig. Later, this address should be transferred to the Governor contract.
admin
or governor
can call certain functions.