FLYWHEEL 2.0 Phase 3–4 · Sepolia testnet · fuzzed & self-reviewed

FLYWHEEL 2.0 — Closing the Reinvestment Loop

How Keep became the ecosystem revenue accumulator, CoilMakerStrategy was promoted to primary, and the TARE surplus now feeds directly into Coil market-making — turning four protocols into a single self-funding flywheel.

↻ FLYWHEEL 2.0 is live on Sepolia. Four contracts, five permissionless routers, one closed profit loop. Everything below is fuzzed, fork-tested, and self-reviewed — not audited.

The Closure Loop

CoilFeeRouter · 3-way split SurplusSplitter · ≤30% to Keep GaugeWeightRouter · R1 Keep deploys to Keep yield → reinvested DEXCoilfees in HUBTAREsurplus GOVveForgegauges VAULTKeeprevenue accumulator PRIMARYCoilMakermarket making ↻ FLYWHEEL 2.0 closed-loop reinvestment

What Changed

FLYWHEEL 2.0 addresses four diagnosed gaps in the original Phase 3–4 design:

New Fee Flow

Coil fees (USDC) → CoilFeeRouter
  ├── keep_bps (0-50%) → Keep vault  ★ FLYWHEEL 2.0
  ├── gauge_bps (0-50%) → veForge voters
  └── rest → TARE surplus buffer

TARE stability fees → SurplusSplitter
  ├── emission_bps (≤30%) → Keep vault  ★ WAS: veForge
  └── rest → sTARE (savings vault)

Keep vault → CoilMakerStrategy (PRIMARY)
  → Trading spread + fee discount → Keep yield
  → Excess → TARE surplus (reinvests in Coil liquidity)

Strategy Priority (Keep Vault)

The Keep vault now uses a strict priority queue:

  1. CoilMakerStrategy — always preferred. Deploys USDC into Coil batch-auction orders, earning trading spread (bid-ask) and fee discounts on Keep's own activity.
  2. CurveTAREStrategy — second priority. Provides liquidity to the TARE/USDC Curve pool, earning swap fees and supporting the peg.
  3. Aave/Compound/Morpho (fallback) — used only when no internal revenue opportunities exist.

The Flywheel Closure

The actual profit loop that was missing in the original design:

  1. Coil DEX generates USDC fees from batch-auction settlement.
  2. CoilFeeRouter splits fees 3 ways: keep_bps to Keep vault, gauge_bps to veForge voters, remainder to TARE surplus buffer.
  3. Keep vault deploys capital to CoilMakerStrategy (priority 0) — its primary yield source.
  4. CoilMakerStrategy earns trading spread + fee discount from making markets on Coil — proprietary yield no generic lending can match.
  5. TARE SurplusSplitter sends emission slice (≤30%) to Keep vault, rest to sTARE savers.
  6. Keep vault routes TARE surplus into Coil markets (via swap + CoilMakerStrategy order flow).
  7. More Coil volume → more fees → more surplus → more Keep yield → deeper Coil liquidity → loop reinforces.

Core invariant: No vote, keeper, admin, or caller may move a solvent user's collateral, mint on a bad price, or alter live debt. Routers only move value already released or earned — the flywheel turns on earned fees, not printed tokens.

Sepolia Deployments

ContractRoleAddress
CoilFeeRouter3-way fee split (keep/gauge/TARE surplus)0xB620…50F5
SurplusSplitterTARE surplus → Keep (≤30%) + sTARE0xe01C…AFFfa
GaugeWeightRouter (R1)veForge votes steer Keep capital allocation0xa4AA…a16C
CoilMakerStrategy (C)Primary market maker — Keep deploys to Coil0xEf52…3BaF
EmissionRouter (TARE)Routes TARE emissions to Keep vault0x29AA…86d1

Key Metrics

Router Architecture

Every connection in the flywheel is a small, permissionless router with exactly one bounded action:

The worst a bad actor can do is leave money on the table — they cannot steal it.