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