Economics
On this page
One Fee Model
fact A vault charges two fees set by its mandate: a management fee per year on total assets and a performance fee on harvested coupons. Both accrue as vault shares held by the vault itself, so the share price everyone sees is already net of fees. collectFees() converts the accrued shares to USDG from idle quote and splits the amount in one transaction:
| Recipient | Share | Set by |
|---|---|---|
Note treasury (NoteCore.feeSink()) | protocolShareBps, fixed per vault at creation, at most 50 percent | The factory that created the vault (default 20 percent) |
| Partners | Each partner's shareBps of the fee earned on the shares its depositors hold | The mandate, per partner id (at most 50 percent) |
| Fee recipient | The remainder | The mandate |
The partner amount is fee × (partner's tagged shares ÷ total supply) × shareBps. It is paid to the partner’s payee on chain, on every collection. No invoices, no off-chain reconciliation.
Attribution
Deposits made through deposit(assets, receiver, partnerId) tag the receiver on their first deposit. The tag follows the shares: transfers move the attributed balance from one tagged holder to another; queued shares are attributed to nobody while they wait. A partner id is registered on the mandate through its governed path and can be read back with mandate.partner(id) and mandate.partnerIds().
Worked Example
illustrative Assume a vault has already collected 1,000.00 USDG of distributable fees, a 20% protocol share, 20% of its shares attributed to one partner, and a 50% partner share. This describes one distribution, not future income.
| Recipient | USDG |
|---|---|
| Protocol fee sink: 1,000 × 20% | 200.00 |
| Partner: 1,000 × 20% × 50% | 100.00 |
| Fee recipient: remainder | 700.00 |
| Total distributed | 1,000.00 |
Actual fee collection depends on fees already accrued, available quote and the mandate’s reserves. Neither future coupons nor future deposits are assumed.
Notes and Credit
Distribution and credit integrations do not carry a partner id. What they earn is a product decision on your side; what they pay the protocol is the series fee schedule (couponFeeBps on coupons and notionalFeeBps on matched notional, both in getSeries), which routes to the same fee sink. Every subscription your surface brings therefore grows the treasury by the same schedule as a subscription made on the app.
How This Grows the Treasury
- Vault fees pay a fixed protocol share into the fee sink on every collection.
- Every allocation a vault makes is a COUPON subscription on
NoteCore, so vault deposits pay the series fee schedule as well. - Changes in deposits can change coupon discovery, but do not assure future matching, coupons or fee collections.
Fee sink mechanics are described under Protocol: Fees and Token: Treasury floor.
Keep exploring, or revisit this topic from the navigation.