Skip to content

SurplusSplitter

API reference: SurplusSplitter · TareEngine · sTARE

ELI5: When TARE surplus is skimmed, this contract splits it — most to savers (sTARE), a slice to Keep for reinvestment.

What you can do

Function Effect
split / skim hooks Route surplus per configured bps
View params senior_bps, emission_bps

FLYWHEEL 2.0: emission slice → Keep vault (not veForge).

Flywheel fit

Closes reinvestment loop: TARE revenue → Keep → CoilMakerStrategy → more fees.

flowchart TD
    Engine[TareEngine.surplus] --> SS[SurplusSplitter]
    CFR[CoilFeeRouter remainder] --> Engine
    SS -->|≥70% senior| sTARE[sTARE]
    SS -->|≤30% emission| Keep[Keep vault]

Contract walkthrough

SurplusSplitter.vy:

  • Senior bps (≥70%): TARE to sTARE vault
  • Emission bps (≤30%): TARE to Keep / CoilMaker path

Only moves surplus already in engine or released — respects invariant.

Sepolia

Contract Address
SurplusSplitter 0xe01C9F0FAF69aaD9B8c270FCC3E25ECdE3aAFFfa

What can go wrong

Risks

  • Misconfigured bps → wrong yield split (governance/owner risk).
  • Does not create surplus — only routes existing surplus.
Deep dive: FLYWHEEL 1.0 → 2.0

Emission slice previously targeted veForge emissions; 2.0 redirects to Keep for Coil market-making reinvestment.

Source: TARE-Stablecoin/src/SurplusSplitter.vy