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