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.
Overview
Reserve Folio supports standard ERC20 tokens but has specific compatibility requirements and limitations. Understanding which token types are supported is critical for safe Folio operation.Compatibility Matrix
Folio Collateral
| Token Characteristic | Supported | Notes |
|---|---|---|
| Multiple Entrypoints | ❌ | Breaks accounting assumptions |
| Pausable / Blocklist | ❌ | Can freeze Folio operations |
| Fee-on-transfer | ❌ | Breaks balance accounting |
| ERC777 / Callback | ❌ | Reentrancy risks |
| Upward-rebasing | ✅ | Supported with caveats |
| Downward-rebasing | ✅ | Supported with caveats |
| Revert on zero-value | ✅ | Fully supported |
| Flash mint | ✅ | Fully supported |
| Missing return values | ✅ | Fully supported |
| No revert on failure | ✅ | Fully supported |
StakingVault
| Token Characteristic | Supported | Notes |
|---|---|---|
| Multiple Entrypoints | ❌ | Breaks accounting assumptions |
| Pausable / Blocklist | ❌ | Can freeze vault operations |
| Fee-on-transfer | ❌ | Breaks balance accounting |
| ERC777 / Callback | ❌ | Reentrancy risks |
| Upward-rebasing | ❌ | Not supported for staking |
| Downward-rebasing | ❌ | Not supported for staking |
| Revert on zero-value | ✅ | Fully supported |
| Flash mint | ✅ | Fully supported |
| Missing return values | ✅ | Fully supported |
| No revert on failure | ✅ | Fully supported |
Unsupported Token Types
Multiple Entrypoints
Multiple Entrypoints
What it is: Tokens with multiple addresses or entry points for the same underlying asset.Why not supported: Breaks accounting assumptions about token identity and balance tracking.Examples: Some proxy tokens with multiple interfaces
Pausable / Blocklist Tokens
Pausable / Blocklist Tokens
What it is: Tokens that can be paused globally or have address-specific blocklists.Why not supported: Can freeze Folio operations indefinitely, making rebalancing impossible and trapping user funds.Examples: USDC (has blocklist), USDT (has pause functionality)
Fee-on-Transfer Tokens
Fee-on-Transfer Tokens
What it is: Tokens that deduct a fee on every transfer.Why not supported: The Folio’s accounting expects received amounts to match sent amounts. Fee-on-transfer breaks this assumption.Examples: SafeMoon, reflection tokens
ERC777 / Callback Tokens
ERC777 / Callback Tokens
What it is: Tokens that make callbacks to sender/receiver during transfers.Why not supported: Creates reentrancy vectors that could be exploited.Examples: ERC777 tokens with hooks
Rebasing Tokens (StakingVault Only)
Rebasing Tokens (StakingVault Only)
What it is: Tokens whose balances change over time without transfers.Why not supported in StakingVault: The staking vault requires stable balances for reward distribution calculations.Note: Rebasing tokens ARE supported in Folio collateral (see below).
Supported with Caveats
Rebasing Tokens (Folio Only)
Both upward-rebasing and downward-rebasing tokens are supported as Folio collateral.
Non-Standard Return Values
Fully Supported
The Folio uses SafeERC20 patterns and handles:
- Missing return values (e.g., USDT)
- Boolean return values that don’t revert on failure
- Non-standard success indicators
Zero-Value Transfer Reversion
Fully Supported
Some tokens revert on zero-value transfers. The Folio is designed to handle this behavior correctly.
Flash Mintable Tokens
Fully Supported
Tokens with flash mint capabilities are fully supported. The Folio’s reentrancy guards and state management handle these correctly.
Reentrancy Protection
The Folio itself is not susceptible to reentrancy attacks due to built-in protections.
Trusted Filler Considerations
If trusted fillers are enabled for a Folio, additional token restrictions may apply.
External Filler Requirements
When trusted fillers are enabled, tokens must also be supported by the external trusted fillers whitelisted in the trusted filler registry.Currently Supported Filler: CoW SwapCheck the trusted filler documentation for their specific token requirements.
Token Validation Checklist
Check Token Contract
Verify the token is a standard ERC20 without exotic features.Review the token’s contract code or audit reports.
Verify Decimals
Confirm token decimals are within valid ranges:
- Folio collateral: ≤ 27 decimals
- StakingVault: ≤ 21 decimals
Test Transfers
Test that transfers work as expected:
- No fee-on-transfer
- No pause functionality
- No blocklists affecting the Folio address
Check for Rebasing
Determine if the token is rebasing:
- If yes and using in StakingVault: ❌ Not supported
- If yes and using in Folio: ⚠️ Supported with caveats
Common Token Examples
Compatible Tokens
WETH
Fully compatible - standard ERC20 wrapper
DAI
Fully compatible - standard ERC20
WBTC
Fully compatible - standard ERC20 with 8 decimals
wstETH
Fully compatible - non-rebasing wrapper for stETH
Incompatible Tokens
USDC
Has blocklist functionality - risky
USDT
Has pause and missing return values - risky
stETH
Rebasing token - use with caution
SafeMoon
Fee-on-transfer - not supported
Related Documentation
Valid Ranges
Token supply and decimal limits
Security
Security audits and considerations
Basket Management
Adding and removing tokens from Folios