Governance
MORE Vaults use a two‑layer governance model. MORE DAO looks after the shared core and public registries, while each vault has its own local roles for day‑to‑day strategy management. This split keeps the global rules coherent yet lets vault creators move quickly inside their own sandbox.
Protocol Governance
Scope. The DAO can upgrade the invariant core, set global parameters (strategist fee caps, max drawdown limits), and copy items from the permissionless registries into the DAO‑approved lists.
Process. Any token holder may submit a proposal. After an on‑chain vote passes, a fixed timelock (e.g., 72 hours) delays execution so users can react.
Execution tools. Upgrades call
diamondCut()
on the core, registry entries are added withapproveFacet()
,approveOracle()
, orapproveRouter()
, and treasury actions move funds through the treasury multi‑sig.Transparency. All proposals, votes, and timelock queues are emitted as events that frontends can track in real time.
Vault Governance
Every vault deployed by the factory starts with three optional roles. The addresses can be changed by the vault owner at any time, subject to the vault’s own timelock.
Role
Powers
Vault Owner
Super‑admin. Can change fees, assign or revoke the other roles, upgrade strategy facets, and call emergency pause. Usually the wallet or multisig that created the vault.
Strategist / Curator
Adjusts allocations, harvests rewards, and proposes new strategy facets or routers. Cannot touch fees or guardianship.
Guardian
May veto a strategist‑initiated upgrade during the timelock window.
If a vault omits a role (sets the address to 0x0) the corresponding permissions do not exist.
Timelock on vault updates
All privileged actions including facet upgrades, fee changes, guardian swaps, etc. follow the same pattern:
Propose – Role holder calls the action, and the contract records it and emits
ActionQueued(id)
.Waiting period – A mandatory delay (e.g., 24 hours) gives depositors time to request withdrawals and gives the guardian time to veto if needed.
Execute or cancel – If the guardian has not vetoed, anyone can execute the action after the timelock has expired. A veto emits
ActionCanceled(id)
and the queue entry is cleared.
The timelock window is separate from the withdrawal request delay, so users can still exit even if a guardian is asleep.
Emergency path
Pause. Owner may call
pause()
at any time. This disables new deposits and strategy calls but leaves withdrawal requests open.Unpause. Only the owner can lift the pause, subject to the standard timelock.
Last updated