Treasury & Insurance
The Treasury Splitter contract governs how protocol fees are divided between market curators and the Gearbox DAO, while the insurance fund provides a minimal reserve to cover potential losses.
Treasury Splitter
Every market generates fees from borrower interest. These fees are collected and split between two parties: the market curator who manages risk, and the DAO that maintains the protocol.
| Property | Detail |
|---|---|
| Default split | 50/50 between market curator and DAO |
| Governance model | Operates as a 2/2 multisig — changes require approval from both the Financial Representative and the market curator |
| Fee collection timing | Fees are collected when debt is repaid, not continuously |
| Split change timing | Changes to the treasury split take effect immediately, including for previously accrued but uncollected fees |
Delayed Fee Collection
Fees are not streamed or collected in real time. They accumulate within the protocol and are only realized when a borrower repays their debt. This means:
- The split ratio at the time of collection determines distribution, not the ratio at the time fees were accrued
- Changing the split retroactively affects all uncollected fees
- Both parties should be aware of this when negotiating split changes
Financial Representative
Each chain has a Financial Representative appointed by the DAO to manage fee-related operations on that specific chain.
| Aspect | Detail |
|---|---|
| Scope | One chain |
| Appointment | Set during instance activation |
| Replacement | Changed via DAO vote |
| User impact | Cannot affect end users directly |
Financial Representative Authority
| Action | Function | Description |
|---|---|---|
| Set default split | setDefaultSplit() | Change the default fee division ratio |
| Set token-specific split | setTokenSplit() | Override the split for a specific token |
| Set insurance amount | setTokenInsuranceAmount() | Configure the undistributable reserve per token |
| Withdraw tokens | withdrawToken() | Withdraw collected fees from the splitter |
All of these actions require approval from both the Financial Representative and the relevant market curator (2/2 multisig).
Insurance Fund
The Treasury Splitter holds a minimal undistributable amount as an insurance reserve. This fund exists to cover potential losses and cannot be withdrawn through normal fee collection.
| Property | Detail |
|---|---|
| Purpose | Cover protocol losses |
| Configuration | Set per token via setTokenInsuranceAmount() |
| Accessibility | Cannot be withdrawn through standard fee collection |
| Management | Requires 2/2 approval (Financial Representative + market curator) to modify |
Learn More
- Roles & Permissions — Full breakdown of Financial Representative and other governance roles
- PriceFeed Store — How price feeds are approved and managed
- Omni-EVM & Instances — How per-chain instances operate independently