Shares, not balances
When you deposit into a fund you receive shares, not a claim on a fixed amount of the underlying asset. Each share represents a proportional slice of everything the fund holds. Your share count does not change on its own; instead, the price per share moves as the fund earns or loses value. Red Potion prices shares using the convention:price is the amount of the asset that corresponds to one share (scaled to 18 decimals). If a share is worth 1.05 USDC, then depositing 105 USDC mints you 100 shares. Redeeming 100 shares later, when a share is worth 1.10 USDC, returns 110 USDC (before fees).
Why batches?
An automated vault can price a deposit the instant it arrives because it can read every position it holds directly from the chain. A Red Potion fund often cannot: its value may depend on positions held off-chain, in custody, or on another chain. So instead of pricing continuously, Red Potion divides time into batches. A batch is a window of time with a cutoff. While a batch is open, deposits and redemptions queue into it. After the cutoff, an off-chain reporter submits the NAV price for that batch, and — after a mandatory review delay — an operator accepts the report. Acceptance settles every deposit and redemption in the batch at that one price, in a single transaction.The safety rails on pricing
Because a single reported price settles a whole batch, the Oracle surrounds it with checks:- A mandatory review delay (default 1 hour) sits between when a price is submitted and when it can be accepted, giving a reviewer time to veto a bad price.
- A staleness limit (default 7 days) prevents an old, out-of-date price from being accepted.
- Suspicious-price bounds — absolute min/max, maximum absolute change, and maximum percentage deviation from the last accepted price — flag any report that moves too far. A flagged report can only be accepted by a more privileged operator after manual review, or rejected and resubmitted.
Native ETH and multiple assets
Funds can support multiple deposit and redemption assets, including native ETH (handled everywhere via the sentinel address0xEeee…EEeE). Each asset in a batch is priced by its own report, and the fund designates one fee base asset whose price drives time-based fee accrual and risk valuation.