Skip to main content

Modules

The CoreVault delegates all non-accounting functionality to a set of purpose-built modules. Each module owns a single concern, operates within strict access control boundaries, and preserves the vault's core invariants. Modules can be upgraded or replaced independently without modifying the CoreVault itself.


StrategyRouter

The StrategyRouter manages capital allocation across active strategies. When the vault rebalances, the router determines how much capital to deploy or recall from each strategy based on configured allocation targets, current balances, and the buffer requirement.

What it does: Reads allocation targets, calculates the delta between target and actual positions, and executes deposits or withdrawals to each strategy adapter accordingly.

Why it matters: Centralized routing logic ensures that rebalancing is deterministic and auditable. No individual strategy can request capital — all flows are initiated by the router.


BufferManager

The BufferManager maintains a liquid USDC reserve within the vault that is not deployed to any strategy. This reserve serves instant withdrawal requests and provides operational headroom for rebalancing.

What it does: Tracks the current buffer level against a configurable target percentage of total vault assets. Signals the StrategyRouter when the buffer needs replenishing.

Why it matters: Depositors can withdraw up to the buffer amount immediately without waiting for capital to be recalled from external protocols. This improves capital efficiency while maintaining liquidity.


FeeCollector

The FeeCollector accrues and distributes protocol fees. Fees are calculated as a share of yield generated by the vault's strategies and are deducted from NAV before share price calculation.

What it does: Tracks fee accrual per epoch, splits fees between protocol treasury and other designated recipients, and makes accrued fees claimable.

Why it matters: Fee logic is isolated from the vault's core accounting. Fee parameters can be adjusted through governance without modifying the vault contract.


Incentives

The Incentives module manages reward distribution to depositors. Incentive programs can run alongside the vault's organic yield to bootstrap deposits or reward long-term participation.

What it does: Tracks depositor eligibility, calculates reward allocations, and makes rewards claimable. Distribution logic is on-chain; reward funding may come from protocol treasury or external partners.

Why it matters: Incentive accounting is separated from vault NAV, ensuring that reward programs do not affect share price calculations or core vault invariants.


PriceOracleMiddleware

The PriceOracleMiddleware provides a unified interface for external price feeds used in NAV calculations and strategy health monitoring.

What it does: Aggregates price data from configured oracle providers, applies staleness checks and deviation thresholds, and exposes a single price query interface to other modules.

Why it matters: Oracle logic is abstracted behind a middleware layer, allowing the protocol to switch oracle providers or add fallback sources without modifying consuming modules.


BatchGuardrails

BatchGuardrails enforce safety limits on batch operations such as rebalancing, fee distribution, and strategy interactions.

What it does: Validates that batch operations do not exceed configured limits for transaction count, capital movement per batch, and slippage tolerance. Rejects operations that fall outside safe parameters.

Why it matters: Guardrails prevent operational errors or compromised keepers from executing outsized transactions. They act as an automated safety net independent of human oversight.


StrategyHealthRegistry

The StrategyHealthRegistry maintains a real-time health status for each active strategy. Health status informs the StrategyRouter's allocation decisions and triggers alerts or automatic degradation when thresholds are breached.

What it does: Monitors utilization rates, yield performance, protocol risk indicators, and on-chain anomalies for each strategy. Publishes a health status (healthy, degraded, critical) that other modules can query.

Why it matters: Continuous health monitoring enables the protocol to respond to deteriorating conditions before they result in losses. Degraded strategies stop receiving new capital automatically.


SystemSealer

The SystemSealer makes the CoreVault's critical logic immutable after the protocol has stabilized in production. Sealing is a one-way operation.

What it does: Permanently disables upgrade paths and parameter changes on the core vault contract. Emergency controls (pause, degrade, recall) remain operational under their existing governance rules.

Why it matters: Sealing provides a credible commitment to depositors and integrators that the protocol's foundational behavior will not change. It is the strongest on-chain guarantee a vault protocol can offer.


Document version: 1.1 Last updated: 2026-03-29