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.
General Questions
What is Reserve Folio?
What is Reserve Folio?
How is Folio different from other index protocols?
How is Folio different from other index protocols?
- Sophisticated Rebalancing: Dutch auction system with configurable price ranges and basket-level optimization
- Governance Flexibility: Three-tier role system allowing different levels of control and time sensitivity
- High Fidelity: Designed to maintain precise allocations even under timelock delays
- MEV Protection: Integration with trusted fillers (CoW Swap) for better execution
- Composability: Can be used as collateral or building block in other DeFi protocols
What chains does Folio support?
What chains does Folio support?
- Ethereum Mainnet
- Base
- Arbitrum
- Optimism
- Polygon
Is Reserve Folio audited?
Is Reserve Folio audited?
- Trust Security (v1.0.0)
- Cantina Competition (multiple versions)
- Trail of Bits (v2.0.0, v4.0.0)
- Pashov Audit Group (v4.0.0+)
Using Folios
How do I mint Folio tokens?
How do I mint Folio tokens?
- Approve each collateral token for the Folio contract
- Call
mint(uint256 shares, uint256 minAmountOut)with desired share amount - The Folio calculates required token amounts pro-rata
- Tokens are transferred from your wallet
- Folio shares are minted to your address
How do I redeem Folio tokens?
How do I redeem Folio tokens?
- Call
redeem(uint256 shares)with the amount to redeem - The Folio calculates token amounts pro-rata to your share
- Your Folio shares are burned
- Collateral tokens are sent to your address
What fees do I pay?
What fees do I pay?
- TVL Fee (Management Fee):
- Charged continuously on AUM
- Minimum: 15 bps annually
- Maximum: 10% annually
- Implemented as share inflation
- Mint Fee:
- Charged on minting
- Minimum: 15 bps
- Maximum: 5%
- No redemption fee
Can I use Folio tokens as collateral?
Can I use Folio tokens as collateral?
- Check for read-only reentrancy with
stateChangeActive() - Folio composition can change through rebalancing
- Value should be calculated based on underlying assets
Rebalancing & Auctions
How does rebalancing work?
How does rebalancing work?
- Start Rebalance:
REBALANCE_MANAGERsets target weights and price ranges - Open Auction:
AUCTION_LAUNCHERor anyone (after delay) opens an auction - Bidding: Anyone can bid on token pairs during the auction
- Repeat: Multiple auctions can run during the rebalance
- Complete: Rebalance completes when targets are met or TTL expires
What is a Dutch auction?
What is a Dutch auction?
- Price decays exponentially from
startPricetoendPrice - Designed so ideal clearing price (with slippage) lies between bounds
- First bidder to accept current price wins
- Can be filled partially or fully
- Price discovery
- No order book needed
- MEV-resistant (with tight ranges)
Can I participate in auctions?
Can I participate in auctions?
- Call
getBid()to see current auction state - Call
bid()with desired fill amount - Send buy tokens, receive sell tokens
- Must meet the current price ratio
- Must have approved buy token
- Some Folios may restrict to trusted fillers only
What are trusted fillers?
What are trusted fillers?
- Better prices through professional market makers
- MEV protection
- Access to off-chain liquidity
Why did the rebalance fail?
Why did the rebalance fail?
- TTL Expired: Rebalance time-to-live ran out
- Price Excursion: Market prices moved outside approved ranges
- Auction Launcher Offline: No one opened auctions during restricted period
- Insufficient Liquidity: No bidders at auction prices
- Governance Action: Rebalance manually ended
Governance
What are the three roles?
What are the three roles?
- DEFAULT_ADMIN_ROLE:
- Expected: Timelock of Slow Folio Governor
- Powers: Add/remove assets, set fees, configure roles
- Use: Major structural changes
- REBALANCE_MANAGER:
- Expected: Timelock of Fast Folio Governor
- Powers: Start/end rebalances, set rebalance parameters
- Use: Operational rebalancing decisions
- AUCTION_LAUNCHER:
- Expected: EOA or multisig
- Powers: Open auctions within approved ranges
- Use: Timely auction execution with market awareness
How do I propose changes?
How do I propose changes?
- Create Proposal: Submit proposal to appropriate governor
- Voting Period: Token holders vote
- Timelock: Successful proposals enter timelock
- Execution: After delay, proposal can be executed
- Slow Governor: Structural changes (add/remove tokens, fees)
- Fast Governor: Rebalancing operations
- Direct:
AUCTION_LAUNCHERfor auction timing
What is the AUCTION_LAUNCHER role?
What is the AUCTION_LAUNCHER role?
AUCTION_LAUNCHER is a semi-trusted role that opens auctions.Responsibilities:- Open auctions promptly when rebalancing is needed
- Provide up-to-date price estimates (if price control enabled)
- Optimize basket weights (if weight control enabled)
- End rebalances if market conditions become dangerous
- Can only operate within governance-approved ranges
- Cannot prevent permissionless auctions (after delay)
- Cannot steal funds (but can cause value leakage in some configurations)
Can governance rugpull users?
Can governance rugpull users?
- Timelock delays on major changes
- Cannot directly steal user funds
- Users can redeem during timelock period
- Can add malicious tokens (users should redeem before they’re added)
- Can set unfavorable rebalance parameters
- Can change fees (within limits)
Staking
What is the StakingVault?
What is the StakingVault?
- Stake Folio tokens
- Earn multiple reward tokens simultaneously
- Voting power for governance
- Configurable unstaking delay
How do rewards work?
How do rewards work?
- Rewards drip at a configurable rate
- Rate decays with a half-life (exponential decay)
- Multiple reward tokens supported simultaneously
- Claim anytime
What is the unstaking delay?
What is the unstaking delay?
- Prevent governance attacks (stake, vote, unstake)
- Align long-term interests
- Security for optimistic governance
Can I lose my staked tokens?
Can I lose my staked tokens?
StakingVault.burn() functionUse Case: Slash malicious governance proposers in optimistic governance systemsRisk: Only applies if the Folio uses optimistic governance patternsMitigation: Don’t propose malicious governance actions.Technical Questions
What tokens are supported?
What tokens are supported?
- Standard ERC20 tokens
- Tokens with missing return values
- Tokens that revert on zero-value transfers
- Flash mintable tokens
- Rebasing tokens (Folio only, with caveats)
- Multiple entrypoints
- Pausable / blocklist (USDC, USDT risky)
- Fee-on-transfer
- ERC777 / callback tokens
- Rebasing tokens (StakingVault)
What are the decimal limits?
What are the decimal limits?
How do I check for reentrancy?
How do I check for reentrancy?
What is the unit system?
What is the unit system?
- D18: 1e18 precision (percentages, ratios)
- D27: 1e27 precision (prices, exchange rates)
- , , : Token amounts
- : Seconds
D18{1}: Percentage with 18 decimalsD27{tok/share}: Token per share ratioD27{UoA/tok}: Price in nanoUSD per token
Can I fork/deploy my own Folio?
Can I fork/deploy my own Folio?
- Clone the repository
- Review deployment scripts
- Configure parameters
- Deploy via governance deployer
- Initialize with tokens and settings
- RoleRegistry deployment
- FolioDAOFeeRegistry setup
- Governance structure
Troubleshooting
Why did my mint fail?
Why did my mint fail?
- Insufficient Allowance: Approve all collateral tokens first
- Insufficient Balance: Don’t have enough of one or more tokens
- Below Minimum: Output below
minAmountOutparameter - Zero Output: Would receive 0 shares (add more tokens)
- Token Transfer Failed: One of the collateral tokens reverted
Why can't I redeem?
Why can't I redeem?
- Insufficient Balance: Don’t have enough Folio shares
- Token Removed: A token was removed from basket (rare, governance action)
- Rebalancing Issue: Temporary issue during rebalance (unlikely)
Where is my token?
Where is my token?
- Check Balance: View token balance in wallet
- Add to Wallet: Manually add token contract address to wallet
- Check Basket: Verify token is still in Folio basket
- Check Transaction: Review transaction logs for transfers
My transaction is expensive!
My transaction is expensive!
- Ethereum Mainnet: $50-200+ (high)
- Base/Optimism: $1-5 (low)
- Arbitrum: $0.50-2 (very low)
- Polygon: under $0.50 (very low)
- Use L2s for lower costs
- Wait for low gas periods (weekends, late night UTC)
- Batch operations when possible
Getting Help
Need More Help?
- 📚 Full Documentation - Comprehensive guides
- 💬 Community Discord - Ask questions
- 🐛 GitHub Issues - Report bugs
- 🛡️ Security - Report vulnerabilities
- Search this FAQ
- Check relevant documentation section
- Review example transactions on block explorer
- Provide details: transaction hash, wallet address, error message