Skip to main content

Overview

Folios are backed ERC20 tokens that represent portfolios of ERC20-compliant assets managed entirely onchain. They serve as a single source of truth for asset allocations, enabling composability of complex, multi-asset portfolios.
Folios are designed to be used in DeFi protocols as composable building blocks for multi-asset strategies.

What is a Folio?

A Folio is:
  • An ERC20 token - Fully composable with other DeFi protocols
  • Backed by a basket - Represents ownership of multiple underlying assets
  • Permissionlessly mintable/redeemable - Anyone can mint or redeem at any time
  • Semi-permissioned rebalancing - Governance controls rebalancing within timelock constraints

Basket Composition

Every Folio maintains a basket of ERC20 tokens. The basket defines:
  1. Which tokens are included in the portfolio
  2. How many of each token back each Folio share
  3. Target allocations during rebalancing

Basket Units (BU)

Basket Units are the fundamental unit of account for a Folio. They define the target composition:

Basket Weights

Each token in the basket has an associated weight that determines its proportion:
A typical usage defines BUs 1:1 with shares (1e18), though they can range from 0 to 1e27.

Minting Folios

Minting creates new Folio shares by depositing the required basket tokens.

How Minting Works

  1. Calculate required assets - Based on the current basket composition
  2. Transfer assets - Caller transfers all required tokens to the Folio
  3. Mint shares - Folio issues shares proportional to the deposit
  4. Apply fees - Mint fee is deducted from shares issued

Mint Function

Fee Distribution

Minting has three share portions:
  1. Receiver shares - Goes to the minter
  2. DAO fee shares - Goes to the protocol DAO (minimum 15 bps)
  3. Fee recipient shares - Goes to Folio fee recipients

Redeeming Folios

Redemption burns Folio shares and returns the proportional basket assets.

How Redemption Works

  1. Burn shares - Caller’s shares are destroyed
  2. Calculate proportional assets - Based on share percentage of total supply
  3. Transfer assets - All basket tokens transferred to receiver

Redeem Function

The assets array must match the current basket exactly, in the same order.

Viewing Basket Assets

You can query the current basket composition at any time:

State Change Safety

During trusted fill execution or reentrant calls, basket data may be unreliable.
Before relying on Folio state in external protocols, check:
Consumer protocols SHOULD call this and ensure both values are false before strongly relying on Folio state.

Weird ERC20 Support

Folios support most ERC20 tokens but have restrictions:
Rebasing tokens are supported but may cause accounting discrepancies if rebasing is non-incremental.