Skip to content

CoilFeeRouter (TARE side)

API reference: CoilFeeRouter · TareEngine

ELI5: Collects Coil trading fees in USDC and splits them — some to Keep, some to voters, the rest buys TARE for protocol surplus.

What you can do

Function Effect
harvest Pull fees from Coil, execute split
Admin Set keep_bps, gauge_bps (each 0–50%, sum ≤50%)

Flywheel fit

Primary fee ingress from Coil into Keep + veForge bribes + TARE surplus.

Slice Destination
keep_bps CoilMakerStrategy / Keep path
gauge_bps BribeDistributor (USDC)
Remainder Swap → TARE → engine surplus

Contract walkthrough

CoilFeeRouter.vy (FMR-002 on Sepolia):

  • Enforces keep_bps + gauge_bps ≤ 5000 (50%)
  • Remainder minimum to surplus (≥20% of fees in flywheel design)
  • Routers only move harvested fees — not user CDP collateral
flowchart LR
    Coil[Coil fees USDC] --> CFR[CoilFeeRouter]
    CFR --> Keep[keep_bps]
    CFR --> Bribe[gauge_bps USDC]
    CFR --> Surplus[TARE surplus]

Sepolia

Contract Address
CoilFeeRouter 0xBaBB1eD51bEcC57B2F06Fc220A10Fdf98CD4Cc85

Also see Coil fee routing.

What can go wrong

Risks

  • Swap path / Curve dependency for remainder → TARE.
  • Parameter grief if admin compromised — fees misrouted, not CDP theft.

Source: TARE-Stablecoin/src/CoilFeeRouter.vy