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
The FolioDAOFeeRegistry contract manages the protocol-level fee configuration for all Folios. It determines what percentage of Folio fees go to the DAO versus fee recipients, and enforces minimum fee floors to ensure the protocol remains sustainable.Key Features
- DAO Fee Split: Configurable percentage of fees that go to the protocol
- Fee Floor: Minimum fees charged to users, regardless of Folio settings
- Per-Folio Overrides: Custom fee settings for specific Folios
- Chain-Specific Maximums: Different max fees based on blockchain
Fee Mechanics
The registry implements a two-tier fee system:- DAO Fee Percentage: The DAO receives a percentage of collected fees (e.g., 50%)
- Fee Floor: A minimum amount the DAO receives, even if the percentage calculation is lower
- At 0.30% TVL fee: DAO gets 0.15%, recipients get 0.15%
- At 0.20% TVL fee: DAO gets 0.15%, recipients get 0.05%
- At 0.10% TVL fee: DAO gets 0.15%, recipients get 0%
Configuration Functions
Set Fee Recipient
Set the address that receives DAO fees.New fee recipient address (cannot be zero)
FolioDAOFeeRegistry.sol
Set Default Fee Numerator
Set the default DAO fee percentage for all Folios.New fee numerator as D18 (e.g., 0.5e18 = 50%)
FolioDAOFeeRegistry.sol
The fee numerator must not exceed the chain-specific
MAX_DAO_FEE. The denominator is always FEE_DENOMINATOR (1e18).Set Token Fee Numerator
Set a custom DAO fee percentage for a specific Folio.Address of the Folio token
Custom fee numerator (D18)
FolioDAOFeeRegistry.sol
Set Default Fee Floor
Set the default minimum DAO fee for all Folios.New default fee floor as D18 (e.g., 0.0015e18 = 0.15% = 15 bps)
FolioDAOFeeRegistry.sol
Set Token Fee Floor
Set a custom minimum DAO fee for a specific Folio.Address of the Folio token
Custom fee floor (cannot exceed default floor)
FolioDAOFeeRegistry.sol
Reset Token Fees
Remove custom fee settings for a Folio, reverting to defaults.Address of the Folio token
FolioDAOFeeRegistry.sol
View Functions
Get Fee Details
Retrieve complete fee configuration for a Folio.Address of the Folio token
FolioDAOFeeRegistry.sol
recipient: Address receiving DAO feesfeeNumerator: DAO percentage numerator (D18)feeDenominator: Always 1e18feeFloor: Minimum DAO fee (D18)
Chain-Specific Limits
Maximum fees vary by blockchain:Ethereum Mainnet (Chain ID: 1)
Maximum DAO fee: 50%
Maximum fee floor: 0.15% (15 bps)
Base (Chain ID: 8453)
Maximum DAO fee: 50%
Maximum fee floor: 0.15% (15 bps)
BNB Smart Chain (Chain ID: 56)
Maximum DAO fee: 33.33%
Maximum fee floor: 0.10% (10 bps)
Events
Emitted when DAO fee recipient is changedParameters:
feeRecipient- New recipient address
Emitted when default DAO fee percentage is updatedParameters:
feeNumerator- New default numerator (D18)
Emitted when a Folio-specific fee numerator is setParameters:
fToken- Folio token addressfeeNumerator- Custom numeratorisActive- Whether override is active
Emitted when default fee floor is updatedParameters:
defaultFeeFloor- New default floor (D18)
Emitted when a Folio-specific fee floor is setParameters:
fToken- Folio token addressfeeFloor- Custom floorisActive- Whether override is active
Constants
Denominator for all fee calculations (D18 precision)
Access Control
Immutable reference to the RoleRegistry contract for owner checks
Fee Distribution Flow
When fee settings are changed, the registry automatically calls
distributeFees() on the affected Folio before applying changes. This ensures pending fees are calculated with old settings.