Core Concepts
Folio
Folio
Basket
Basket
Basket Unit (BU)
Basket Unit (BU)
D27{tok/BU} (tokens per basket unit)Collateral
Collateral
Rebalancing Terms
Rebalance
Rebalance
REBALANCE_MANAGER roleDuration: Controlled by TTL (time-to-live)Rebalance Target
Rebalance Target
- Target tokens list
- Weight ranges (low, spot, high)
- Price ranges for each token
- Rebalance limits
Rebalance Limits
Rebalance Limits
Weight Range
Weight Range
weightControl is enabled, AUCTION_LAUNCHER can adjust within rangeTTL (Time-to-Live)
TTL (Time-to-Live)
AUCTION_LAUNCHER near expirationSurplus
Surplus
RebalanceLimits.highDeficit
Deficit
RebalanceLimits.lowAuction Terms
Dutch Auction
Dutch Auction
Auction
Auction
Start Price
Start Price
End Price
End Price
Price Range
Price Range
Lot Size / Sell Amount
Lot Size / Sell Amount
Bid
Bid
sellAmountRestricted Period
Restricted Period
AUCTION_LAUNCHER can open auctions. Provides the trusted launcher time to act before permissionless participation.Duration: Typically includes a 120s buffer minimumExtension: Gets bumped when AUCTION_LAUNCHER actively uses itPermissionless Period
Permissionless Period
AUCTION_LAUNCHER is offlineParameters: Uses spot values from rebalance configurationRole Terms
DEFAULT_ADMIN_ROLE
DEFAULT_ADMIN_ROLE
- Add/remove tokens from basket
- Set fees
- Configure auction parameters
- Manage roles
- Close auctions
REBALANCE_MANAGER
REBALANCE_MANAGER
- Start rebalances with parameters
- End rebalances
- Close auctions
- Set rebalance limits
AUCTION_LAUNCHER
AUCTION_LAUNCHER
- Open auctions within approved ranges
- Select price subranges (if
priceControlenabled) - Adjust basket weights (if
weightControlenabled) - Perform atomic swaps (if
ATOMIC_SWAPmode) - End rebalances
REBALANCE_MANAGERRisk: Can cause value leakage if malicious, but cannot guarantee they benefit (except in ATOMIC_SWAP mode)Price Control Modes
PriceControl.FULL
PriceControl.FULL
AUCTION_LAUNCHER has no control over prices and must use governance-provided ranges.Security: Highest - no price manipulation possibleExecution: May be less optimal due to stale pricesBest for: Folios with untrusted or public launchersPriceControl.PARTIAL
PriceControl.PARTIAL
AUCTION_LAUNCHER can select a subset of the governance-approved price range for each auction.Security: Medium - can start auctions at suboptimal pricesRisk: Value leakage to MEV searchers possibleExecution: Better price precision, improved executionBest for: Folios with semi-trusted launchersPriceControl.ATOMIC_SWAP
PriceControl.ATOMIC_SWAP
AUCTION_LAUNCHER can perform atomic swaps at fixed prices within the approved range.Security: Lowest - full price controlRisk: Can cause value leakage AND be the beneficiaryExecution: Best possible - no MEV leakage, optimal pricesBest for: Highly trusted, sophisticated launchersFee Terms
TVL Fee / Management Fee
TVL Fee / Management Fee
Mint Fee
Mint Fee
Fee Floor
Fee Floor
Fee Recipient
Fee Recipient
Staking Terms
StakingVault
StakingVault
- Earn rewards in multiple tokens
- Gain voting power for governance
- Align long-term incentives
Staked Token
Staked Token
Reward Token
Reward Token
Reward Half-Life
Reward Half-Life
Unstaking Delay
Unstaking Delay
- Prevent governance attacks (stake-vote-unstake)
- Support optimistic governance patterns
- Align long-term interests
Governance Terms
FolioGovernor
FolioGovernor
- Slow Governor (long timelock)
- Fast Governor (shorter timelock)
Timelock
Timelock
Optimistic Governance
Optimistic Governance
StakingVault.burn() to enable slashing malicious proposersTrade-off: Faster execution vs. risk of malicious actionsCommunity Governor
Community Governor
- Add/remove reward tokens
- Set reward parameters
- Configure unstaking delay
Technical Terms
D18
D18
D18{1} is a percentage value with 18 decimal precisionD27
D27
D27{UoA/tok} is a price with 27 decimal precisionUnit of Account (UoA)
Unit of Account (UoA)
nanoUSD
nanoUSD
Quanta / Quantum
Quanta / Quantum
Read-Only Reentrancy
Read-Only Reentrancy
stateChangeActive() before reading stateNote: Folio itself is protected; consuming protocols must checkTrusted Fillers
Trusted Fillers
MEV (Maximal Extractable Value)
MEV (Maximal Extractable Value)
DAO Terms
FolioDAOFeeRegistry
FolioDAOFeeRegistry
- Set fee floors
- Collect DAO portion of fees
- Configure per-Folio fee overrides
FolioVersionRegistry
FolioVersionRegistry
RoleRegistry
RoleRegistry
IRoleRegistryDependency: Required for Folio deploymentContract Terms
FolioDeployer
FolioDeployer
FolioVersionRegistryUpgrades: New versions deployed by DAOFolioProxy
FolioProxy
FolioVersionRegistryGovernanceDeployer
GovernanceDeployer
- StakingVault
- FolioGovernor instances
- Associated contracts