# Red Potion ## Docs - [Access control and roles](https://docs.redpotion.finance/developers/access-control-and-roles.md): OpenZeppelin AccessControlEnumerable + Multicall, plus batch grantRoles/revokeRoles (admin-only) and constructor-time role seeding via RoleHolder[] {role, account}. - [Architecture](https://docs.redpotion.finance/developers/architecture.md): This page is for integrators, operators, and auditors working against the Red Potion contracts. It explains how the system's three layers fit together, the two design patterns that - [Deposit Queue](https://docs.redpotion.finance/developers/contract-reference/deposit-queue.md): DepositQueue is the user entrypoint for depositing into a fund. Deposits are not instant—they are queued into the current batch and converted to shares only when the batch's oracle - [Factory](https://docs.redpotion.finance/developers/contract-reference/factory.md): Factory is a generic proxy factory + registry, reused for every entity type in the system. Each factory instance is configured with one implementation address and stamps out Transp - [Fee Manager](https://docs.redpotion.finance/developers/contract-reference/fee-manager.md): FeeManager holds the fund's fee configuration and fee-accounting state, and computes fee accrual at each settlement. It never holds assets or mints shares itself—it returns amounts - [Fund](https://docs.redpotion.finance/developers/contract-reference/fund.md): Fund is the hub of a fund instance (star architecture). It is the central orchestrator that: - [Fund Manager](https://docs.redpotion.finance/developers/contract-reference/fund-manager.md): FundManager is a tenant-level fund launchpad. One FundManager is created per tenant/organization by the FundManagerDeployer, and it can create any number of funds. It owns eight Fa - [Fund Manager Deployer](https://docs.redpotion.finance/developers/contract-reference/fund-manager-deployer.md): FundManagerDeployer is the protocol root — the single contract the protocol team deploys and operates. It: - [Fund Share](https://docs.redpotion.finance/developers/contract-reference/fund-share.md): FundShare is the ERC-20 share token of a fund. One FundShare is deployed per fund, with 18 decimals. Holding shares represents a pro-rata claim on the fund's assets at the oracle-r - [Oracle](https://docs.redpotion.finance/developers/contract-reference/oracle.md): Oracle is the fund's NAV/price reporting and batch clock. It: - [Redeem Queue](https://docs.redpotion.finance/developers/contract-reference/redeem-queue.md): RedeemQueue is the user entrypoint for redeeming fund shares back into assets. Like deposits, redemptions are batched: users lock shares into the current batch, the batch is priced - [Risk Manager](https://docs.redpotion.finance/developers/contract-reference/risk-manager.md): RiskManager enforces deposit/redeem guardrails for a fund. Both queues route every user request through Fund.checkDeposit / Fund.checkRedeem, which the Fund proxies here; a violate - [Standalone Strategy](https://docs.redpotion.finance/developers/contract-reference/standalone-strategy.md): StandaloneStrategy is the same allowlisted-call execution wallet as Strategy, but not controlled by a Fund. Its purpose is to deploy fund strategies on a different chain than the F - [Strategy](https://docs.redpotion.finance/developers/contract-reference/strategy.md): Strategy is a restricted execution wallet for fund capital. The Fund pushes assets into a strategy, and operators holding CALLER_ROLE deploy that capital into external protocols (D - [Deployments](https://docs.redpotion.finance/developers/deployments.md): Red Potion's canonical contracts are deployed and verified per network. Deployed addresses live in the deployments/ directory of the contracts repository, one JSON file per network - [Developers readme](https://docs.redpotion.finance/developers/developers-readme.md): Red Potion deploys 13 contract types across three layers. Each has a dedicated page covering its responsibility, key flows, and function reference. The authoritative source of trut - [What is Red Potion](https://docs.redpotion.finance/index.md): An on-chain asset-management protocol where tenants launch tokenized funds and investors hold ERC-20 shares priced against NAV. - [How batched fund shares work](https://docs.redpotion.finance/overview/how-batched-fund-shares-work.md): Red Potion funds issue ERC-20 share tokens whose value tracks the fund's net asset value (NAV). This page explains how shares are priced, why deposits and redemptions are batched, - [Introduction](https://docs.redpotion.finance/overview/introduction.md): Red Potion is a multi-tenant, on-chain asset-management protocol. It gives professional fund operators the rails to run tokenized funds on-chain, and gives investors a simple way t - [Protocol participants](https://docs.redpotion.finance/overview/protocol-participants.md): Red Potion coordinates several distinct actors. Knowing who does what — and what each one can and cannot do — is the clearest way to understand the protocol's trust model. - [Glossary](https://docs.redpotion.finance/security/glossary.md): Glossary documentation for Red Potion. - [Risks and safety](https://docs.redpotion.finance/security/risks-and-safety.md): RedPotion is non-custodial infrastructure for actively managed, on-chain funds. Using a fund carries real financial and technical risk. This page describes the protocol's safety mo - [Support](https://docs.redpotion.finance/security/support.md): Need help or want to integrate with Red Potion? Here's where to go. - [Depositing](https://docs.redpotion.finance/using-redpotion/depositing.md): Depositing into a Red Potion fund is a two-stage process: you queue a deposit into the current batch, and later claim the shares once that batch settles. This page walks the full p - [Fees](https://docs.redpotion.finance/using-redpotion/fees.md): Red Potion funds can charge up to five fees. Every fee is paid in newly minted shares, never in your assets — the fund mints shares to the fee recipient, which slightly dilutes exi - [Fund shares](https://docs.redpotion.finance/using-redpotion/fund-shares.md): Every Red Potion fund has its own share token — a standard ERC-20 called FundShare, with 18 decimals. Holding shares represents a pro-rata claim on everything the fund holds, value - [Redeeming](https://docs.redpotion.finance/using-redpotion/redeeming.md): Redeeming turns your fund shares back into assets. It follows the same batched model as depositing, with one extra stage: because the fund's capital is often deployed in strategies - [Risk controls](https://docs.redpotion.finance/using-redpotion/risk-controls.md): Every deposit and redemption is screened by the fund's RiskManager before it's accepted. Each control below is optional and configured per fund — a value of zero (or an unset white