Documentation Index
Fetch the complete documentation index at: https://mintlify.com/reserve-protocol/reserve-index-dtf/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Folio Protocol supports sophisticated governance structures with:- Role-based access control for different operations
- On-chain governance with voting and timelocks
- Dual governance (owner governance + trading governance)
- Vote delegation and staking mechanisms
Folios can be governed by multisigs, DAOs, or fully on-chain governance contracts. You can also mix approaches for different roles.
Governance Roles
Folios use three primary roles:DEFAULT_ADMIN_ROLE
- Set fees and fee recipients
- Configure auction parameters
- Add/remove basket assets
- Deprecate the Folio
- Manage role assignments
REBALANCE_MANAGER
- Start new rebalances
- End ongoing rebalances
- Close individual auctions
AUCTION_LAUNCHER
- Open restricted auctions
- Narrow price/weight ranges
- Control auction timing
- Close auctions
There’s also a
BRAND_MANAGER role for off-chain use (no on-chain permissions).Deployment Options
Option 1: Manual Role Assignment
Deploy a raw Folio and assign roles directly:- Multisig-controlled Folios
- Testing and development
- Simple governance structures
- EOA-operated auction bots
Option 2: Full On-Chain Governance
Deploy with complete governance infrastructure:- Community-governed Folios
- Transparent decision-making
- Token-holder voting
- Decentralized management
Configuring Owner Governance
Owner governance controls admin functions (fees, roles, deprecation).Set Voting Parameters
- votingDelay: Prevents surprise proposals, allows token acquisition
- votingPeriod: Balance between speed and participation
- proposalThreshold: Prevents spam, should be achievable
- quorumThreshold: Percentage of total supply (not circulating)
- timelockDelay: Allows users to exit before changes take effect
- guardians: Trusted addresses for emergency cancellation
Choose Voting Token
Option A: Self-Governance (Folio shares = voting power)This creates a Use an existing ERC20Votes token for governance.
StakingVault where users stake Folio shares to get voting power.Option B: Existing TokenConfiguring Trading Governance
Trading governance controls rebalancing operations.Configure Role Assignment
- Governance-controlled: Leave
existingBasketManagersempty to deploy a separate trading governor - Direct control: Provide addresses to skip trading governance deployment
Managing Staking Vaults
When self-governing, aStakingVault is deployed for vote locking.
Staking Folio Shares
Unstaking
Delegation
The
StakingVault has:- Reward period: 3.5 days (for reward distribution)
- Unstaking delay: 1 week (security cooldown)
Creating Governance Proposals
Example Governance Actions
Update Fees
Add Fee Recipient
Start Rebalance
Grant Role
Guardian Emergency Powers
Guardians can cancel malicious or erroneous proposals:Best Practices
Separation of Concerns
Separation of Concerns
Use different governance structures for different roles:
- Owner governance: Long timelock, high quorum (protocol safety)
- Trading governance: Shorter timelock, lower quorum (market responsiveness)
- Auction launcher: Automated EOA or bot (execution efficiency)
Progressive Decentralization
Progressive Decentralization
Start with multisig control, then gradually transition to on-chain governance as the community matures:
- Launch: Multisig for all roles
- Growth: On-chain trading governance, multisig owner governance
- Maturity: Full on-chain governance with guardians
Timelock Configuration
Timelock Configuration
- 2+ days for owner governance: Allows users to exit before major changes
- 1 day for trading governance: Balance between security and responsiveness
- Never 0: Always have some delay for transparency
Quorum Calculation
Quorum Calculation
Calculate based on:
- Expected participation rates (typically 5-20%)
- Token distribution (whale concentration vs broad distribution)
- Proposal importance (higher quorum for critical changes)
Monitoring Governance
Check Current Configuration
Track Proposals
Code Reference
- Governance deployer:
contracts/deployer/GovernanceDeployer.sol:40-109 - Governor implementation:
contracts/governance/FolioGovernor.sol - Staking vault:
contracts/staking/StakingVault.sol - Role constants:
contracts/utils/Constants.sol
Next Steps
Managing Rebalances
Use governance to start and manage rebalances
Deploying Folio
Review deployment options with governance