0.8.34, and OpenZeppelin v5 upgradeable contracts. Every contract runs behind a TransparentUpgradeableProxy.
How it works
Deposit → shares. You deposit a supported asset. The operator allocates that capital across strategies. You receive an ERC-20 share token for that fund. Share count stays fixed between your own transfers; share price moves with reported NAV. Shares are transferable. Batches, not continuous pricing. Deposits and redemptions queue into time-boxed batches. Every request in a batch settles at one price after an operator submits a NAV report and another operator accepts it. No continuous AMM-style exchange rate. Per-fund controls. Each fund can enforce TVL caps, per-batch caps, minimum sizes, a drawdown gate, a depositor whitelist, and pause controls.Architecture in brief
A fund is a hub-and-spoke system. The Fund holds assets, runs settlement, and is the access-control registry. Spokes: DepositQueue, RedeemQueue, Oracle, FeeManager, RiskManager, FundShare. Capital deploys through Strategy wallets limited to allowlisted calls. After each batch cutoff, a reporter submits prices; after a review delay, acceptance settles deposits and redemptions at one price in a single transaction.Documentation map
Overview
Layers, batching, and who does what.
Using Red Potion
Deposit, redeem, fees, risk controls.
Developers
Architecture, roles, contract reference, deployments.
Security
Risks, glossary, support.