Skip to main content

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:
1

Rebalance Initiation

The REBALANCE_MANAGER starts a rebalance, specifying target ranges for all variables including tokens, limits, weights, and prices.
2

Auction Opening

The AUCTION_LAUNCHER opens Dutch auctions within approved ranges to rebalance the portfolio. After a delay, auctions can be opened permissionlessly.
3

Bidding Period

Participants bid on token pairs at progressively better prices as the auction runs along an exponential decay curve.
4

Settlement

The auction completes, assets are exchanged, and the portfolio moves closer to its target allocation.

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:
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
Expected holder: Timelock of Fast Folio GovernorPermissions:
  • Start rebalances with target ranges
  • End rebalances and auctions
  • Set rebalance control parameters (weight control, price control)
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
The AUCTION_LAUNCHER is semi-trusted and can cause value leakage if malicious, especially with PARTIAL or ATOMIC_SWAP price control. Governance should carefully consider these settings.

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:
Rebasing tokens may cause accounting discrepancies if rebasing occurs non-incrementally. Use with caution.

Version History

1

v1.0.0 - Initial Release

Non-repeatable pairwise auctions. Basic Folio functionality with single-run auctions.
2

v2.0.0 - Repeatable Auctions

Added repeatable pairwise auctions, dust limits, and minimum mint enforcement.
3

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.
4

v5.0.0 - Current

Full weight range support, max auction sizes, trusted filler restrictions, and name changing capability. Optimistic governance with slashing.

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.