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.
What is Reserve Folio?
Reserve Folio is a protocol for creating and managing portfolios of ERC20-compliant assets entirely onchain. Folios are designed to be used as a single source of truth for asset allocations, enabling composability of complex, multi-asset portfolios.Folios are backed ERC20 tokens with permissionless minting/redemption and a semi-permissioned rebalancing mechanism designed for optimal execution under timelock delays.
Key Features
Permissionless Minting & Redemption
Anyone can mint Folio tokens by depositing the required basket of assets, or redeem them to receive the underlying assets pro-rata.
Flexible Rebalancing
Dutch auction-based rebalancing system that enables portfolio adjustments while maintaining optimal execution and MEV protection.
Onchain Governance
Three-tier role system (Admin, Rebalance Manager, Auction Launcher) designed to work efficiently even with timelock delays.
Multi-Asset Support
Support for any ERC20-compliant token within the basket, with configurable weights and price ranges.
How It Works
Folios operate through a sophisticated rebalancing mechanism:Rebalance Initiation
The
REBALANCE_MANAGER starts a rebalance, specifying target ranges for all variables including tokens, limits, weights, and prices.Auction Opening
The
AUCTION_LAUNCHER opens Dutch auctions within approved ranges to rebalance the portfolio. After a delay, auctions can be opened permissionlessly.Bidding Period
Participants bid on token pairs at progressively better prices as the auction runs along an exponential decay curve.
Core Components
Folio Contracts
- Folio.sol: The primary contract representing a portfolio of ERC20 assets with auction-based rebalancing logic
- FolioDeployer.sol: Manages deployment of new Folio instances with configurable parameters
- FolioProxy.sol: Upgradeable proxy contract that checks upgrades with FolioVersionRegistry
Governance System
- FolioGovernor.sol: Time-based canonical governor for the system
- GovernanceDeployer.sol: Deploys staking tokens and governing systems
- StakingVault.sol: ERC4626 vault for staked tokens with multi-reward support and voting power
DAO Infrastructure
- FolioDAOFeeRegistry.sol: Manages ecosystem-wide DAO fees with a 15 bps minimum floor
- FolioVersionRegistry.sol: Tracks approved versions of FolioDeployer contracts
Role-Based Access Control
Folios implement a three-tier permission system:DEFAULT_ADMIN_ROLE
DEFAULT_ADMIN_ROLE
Expected holder: Timelock of Slow Folio GovernorPermissions:
- Add/remove assets from the basket
- Configure fees (TVL fee, mint fee)
- Set auction parameters (length, delay)
- Close auctions and rebalances
- Assign other roles
- Deprecate the Folio
REBALANCE_MANAGER
REBALANCE_MANAGER
Expected holder: Timelock of Fast Folio GovernorPermissions:
- Start rebalances with target ranges
- End rebalances and auctions
- Set rebalance control parameters (weight control, price control)
AUCTION_LAUNCHER
AUCTION_LAUNCHER
Expected holder: EOA or multisig (semi-trusted)Permissions:
- Open auctions within approved ranges
- Adjust auction parameters (basket limits, weights, prices)
- End auctions and rebalances
- Extend restricted period when active
Fee Structure
Folios support two types of fees, both with a DAO minimum floor:TVL Fee
Per-unit time fee on Assets Under Management (AUM)- DAO minimum: 15 bps annually
- Maximum: 10% annually
- Causes supply inflation over time (discretely once per day)
- If set to 15 bps, 100% goes to the DAO
Mint Fee
Fee charged on minting new shares- DAO minimum: 15 bps
- Maximum: 5%
- Does not cause supply inflation
- If set to 15 bps, 100% goes to the DAO
The 15 bps fee floor can be lowered by the DAO globally or on a per-Folio basis. Fee recipients only receive the portion above the DAO minimum.
Supported Token Types
Folios support most standard ERC20 tokens with some restrictions:| Token Type | Folio Support | StakingVault Support |
|---|---|---|
| Standard ERC20 | ✅ | ✅ |
| Missing return values | ✅ | ✅ |
| Flash mint | ✅ | ✅ |
| Revert on zero-value | ✅ | ✅ |
| Upward-rebasing | ✅ | ❌ |
| Downward-rebasing | ✅ | ❌ |
| Multiple entrypoints | ❌ | ❌ |
| Pausable/Blocklist | ❌ | ❌ |
| Fee-on-transfer | ❌ | ❌ |
| ERC777/Callback | ❌ | ❌ |
Version History
v1.0.0 - Initial Release
Non-repeatable pairwise auctions. Basic Folio functionality with single-run auctions.
v2.0.0 - Repeatable Auctions
Added repeatable pairwise auctions, dust limits, and minimum mint enforcement.
v4.0.0 - Basket Auctions
Major upgrade with trusted fillers integration (CoW Swap), rebalance targets system, and overhauled auction mechanics. Changed from per-block to daily fee inflation.
Next Steps
Quick Start
Deploy your first Folio and learn the basics
Architecture
Deep dive into the system architecture and rebalancing mechanics
Chain Assumptions
The protocol assumes block times equal to or under 30 seconds. Deploy only on chains meeting this requirement.