Strategy Framework
Strategies are modular engines that earn yield in different ways. The controller shifts weights dynamically based on yields, risk, and market conditions. New deposits and withdrawals help nudge allocations toward targets; rebalances adjust when deviations get too large.
Adapter interface and dynamic weights. All adapters expose:
deposit(amount)
: move underlying into venue.withdraw(amount)
: free underlying.harvest()
: claim, swap to underlying, redeploy.totalUnderlying()
: mark-to-market valuation.
Per-vault target weights are dynamic and may shift with venue APRs, volatility, utilization, inventory, or risk posture. The controller enforces caps per adapter and venue, minimum idle, and risk guardrails (slippage, oracle freshness, HF bounds for looping). Passive drift correction routes new cash flows toward underweight adapters; active rebalancing moves principal between adapters when thresholds are exceeded.
Breakdown
DEX CL-LP
Trading fees + emissions in a price band
IL, out-of-range, rebalancing
Collect fees/emissions, re-center ranges
Lending
Supply interest + optional rewards
Venue/interest/Oracle, utilization
Claim rewards, re-supply
Looping
Leveraged carry (supply−borrow spread)
Liquidation, borrow spikes, Oracle
Delever on HF guard, re-enable on safety
Lifecycle (Condensed)
Deposit: The vault records principal in an internal ledger and stores the depositor’s entry index.
Earn: Strategies generate yield; rewards accrue in venue tokens or as fees/interest.
Harvest: The keeper claims, converts to underlying, takes the performance fee, updates the accrual index, and redeploys.
Withdraw: The vault pays the depositor’s credited balance after freeing LP or unwinding loops as needed; principal is reduced proportionally.
Accrual index update (net harvest):
$$
I_{\text{new}} = I_{\text{old}} \cdot \left( 1 + \frac{p}{A} \right)
$$
Where {p} is net profit (after fees) and {A} is pre-harvest assets.
Last updated