Protocol operator
The Red Potion team runs the FundManagerDeployer. It onboards tenants, publishes canonical implementations, and sets the protocol fee recipient. It does not run individual funds or hold their assets.Tenant (fund house)
A tenant runs one or more funds. Each tenant has a FundManager and controls upgrade authority for its funds’ contracts. Tenants cannot touch each other’s funds.Fund operator
Day-to-day fund work is a set of roles on the Fund, not one key:- Reporter — submits NAV reports after batch close (
SUBMIT_REPORT_ROLE) - Report acceptor — accepts a reviewed report and settles the batch (
ACCEPT_REPORT_ROLE) - Reviewer — vetoes a bad pending report (
REJECT_REPORT_ROLE) - Allocator — moves capital Fund ↔ strategies (
PUSH_TO_STRATEGY_ROLE/PULL_FROM_STRATEGY_ROLE) and funds settled redemptions (FUND_REDEEM_ROLE) - Configurators — fees, risk limits, allowed assets, price-safety bounds
Strategy operator
Capital leaves the Fund only into Strategy wallets. A strategy has its own admin andCALLER_ROLE operators, separate from fund roles. Calls must match an allowlist (caller, target, selector, optional pinned args). Strategies cannot call the Fund. The Fund can always pull assets back.