Skip to content

Fallback strategies

ELI5: When Coil doesn't need more capital, Keep parks USDC in boring yield — Curve TARE liquidity, Aave, Compound, or Morpho.

What you can do

Users don't interact directly — vault manager/keeper allocates via rebalance().

Flywheel fit

Strategy Flywheel role
CurveTAREStrategy TARE/USDC LP — peg liquidity
AaveV3Strategy Generic lending yield
CompoundV3Strategy Comet + COMP harvest
MorphoStrategy Morpho Blue supply

Used only when CoilMakerStrategy cannot absorb more (max_debt / idle flow).

Contract walkthrough

Common pattern (khomdev-keep/src/strategies/):

  1. deposit / withdrawvault-only (msg.sender == vault)
  2. getApr() — governance-set bps (off-chain keeper updates)
  3. harvest() — claim rewards, swap, re-supply (Compound); no-op on Aave (rebasing aTokens)
Strategy Harvest
AaveV3 No-op (aToken rebase)
CompoundV3 COMP → USDC via Uniswap V3
Morpho Market-specific
CurveTARE LP fees / gauge logic

Smart routing formula when enabled:

target_debt_i = total_assets × APR_i / Σ APR_j

Capped by each strategy's max_debt.

What can go wrong

Risks

  • External protocol risk (Aave/Compound/Morpho/Curve).
  • APR is keeper-set — stale APR → suboptimal routing.
  • Curve IL on TARE/USDC position.

Source: khomdev-keep/src/strategies/*.vy