Skip to content

FLYWHEEL 2.0 value flow

ELI5: Coil charges trading fees in USDC. Those fees split three ways — into Keep, to voters, and into TARE savings. TARE's own fees add more surplus. Keep deploys mostly into Coil market-making, which earns spread and brings more fees back.

Step-by-step loop

  1. Coil settles batch auctions → collects USDC fees.
  2. CoilFeeRouter splits fees:
  3. keep_bps (0–50%) → CoilMakerStrategy / Keep vault path
  4. gauge_bps (0–50%) → BribeDistributor (USDC to voters)
  5. Remainder → swapped to TARE → TARE surplus
  6. TareEngine accrues stability fees → also feeds surplus.
  7. SurplusSplitter splits surplus:
  8. Senior ≥70% → sTARE (saver yield)
  9. Emission ≤30% → Keep vault (reinvestment)
  10. Keep priority queue:
  11. Priority 0: CoilMakerStrategy (spread + fee discount)
  12. Fallback: Curve TARE, Aave, Compound, Morpho
  13. veForge voters steer Keep weights via GaugeWeightRouter (ALLOCATOR_ROLE only).
  14. Loop closes: Keep yield → depositors; excess → surplus → deeper Coil liquidity → more fees.
flowchart TD
    Coil[Coil batch auctions] --> Fees[USDC fees]
    Fees --> CFR[CoilFeeRouter]
    CFR -->|keep_bps| CMS[CoilMakerStrategy]
    CFR -->|gauge_bps| BD[BribeDistributor]
    CFR -->|remainder| Surplus[TARE surplus]
    Engine[TareEngine fees] --> Surplus
    Surplus --> SS[SurplusSplitter]
    SS -->|senior 70%+| sTARE[sTARE vault]
    SS -->|emission 30%-| Keep[Keep MultiStrategyVault]
    CMS --> Keep
    ve[veTARE votes] --> GC[GaugeController]
    GC --> GWR[GaugeWeightRouter]
    GWR --> Keep
    CMS -->|EIP-1271 MM| Coil

What you can observe on-chain

Flow Contract Event / function
Fee harvest CoilFeeRouter harvest / split logic
Surplus skim SurplusSplitter split to sTARE + Keep
Vote → allocation GaugeWeightRouter set_allocations on vault
Bribe claim BribeDistributor epoch claim

What can go wrong

Composition risks

  • Routers only move earned/released value — misconfiguration wastes yield but should not drain solvent CDPs.
  • Keep admin can change strategies — not covered by TARE engine invariant.
  • Fee split caps: keep_bps + gauge_bps ≤ 50% — remainder minimum to surplus enforced in router.
Deep dive: why CoilMaker is priority 0

Proprietary yield from batch-auction spread + fee discounts is not available to retail Coil LPs the same way. FLYWHEEL 2.0 routes capital there first before generic lending.