Fees and Performance
How Curator Fees Work
Fee Mechanics
Oblivion uses share dilution for fee collection. No assets are removed from the vault. Instead, new shares are minted to the fee recipients (curator + protocol), slightly diluting existing shareholders. This is the same model used by traditional ETFs.
Your Fee Revenue
Your annual fee depends on the cadence you chose:
| Cadence | Annual Fee | Your Share (at 80% curator split) |
|---|---|---|
| Weekly | 0.90% | 0.72% of AUM/year |
| Monthly | 0.75% | 0.60% of AUM/year |
| Quarterly | 0.50% | 0.40% of AUM/year |
Example: A monthly vault with $1M in deposits and 80% curator fee share earns you approximately $6,000/year in management fees.
Fee Collection Timing
Fees are not collected continuously — the keeper calls collect_fees periodically. The fee calculation is pro-rated based on time elapsed since the last collection:
fee_shares = total_shares * fee_bps * seconds_elapsed / (10000 * seconds_per_year)
curator_shares = fee_shares * curator_fee_share_bps / 10000
protocol_shares = fee_shares - curator_shares
Fee collection requires fresh oracle prices to ensure fees are calculated on accurate NAV.
Fee Caps
The protocol enforces max_management_fee_bps. You cannot set fees above this cap, protecting depositors from predatory fees.
Curator Points
When the points system is active, you earn curator points proportional to depositor activity:
curator_points = depositor_points * curator_points_bps / 10000
More depositors holding more shares for longer = more curator points. This aligns your incentives with depositor retention.
Performance Tracking
On-Chain Metrics
Your vault tracks these performance fields automatically:
| Metric | Description |
|---|---|
cumulative_deposit_usd | Total USD deposited over vault lifetime |
cumulative_withdraw_usd | Total USD withdrawn over vault lifetime |
net_external_flow_usd | Net deposits minus withdrawals |
cumulative_realized_pnl_usd | Realized profit/loss from swaps and yield |
cumulative_unrealized_pnl_usd | Unrealized profit/loss based on current prices |
performance_baseline_nav_usd | NAV baseline for IRR calculation |
Client Performance Helpers
The TypeScript SDK provides helpers to calculate:
import { sharePrice, allTimeReturn, annualizedReturn, realizedPnl, unrealizedPnl } from '@oblivion/client'
const price = sharePrice(vault) // current share price in USD
const allTime = allTimeReturn(vault) // total return percentage
const annual = annualizedReturn(vault) // annualized return (IRR proxy)
const realized = realizedPnl(vault) // realized PnL in USD
const unrealized = unrealizedPnl(vault) // unrealized PnL in USD
What Makes a Successful Vault
Depositors evaluate curators on:
- Returns: all-time and annualized performance
- AUM growth: growing deposits signal trust
- Consistency: steady returns with controlled drawdowns
- Transparency: on-chain verifiable performance metrics
The combination of fees, points, and performance tracking gives you a complete incentive and reputation system.