DocumentationBuild on Note

Economics

Documentation snapshot 28 October 2026. Deployment · Audit Status
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:

fact One Fee Model
RecipientShareSet by
Note treasury (NoteCore.feeSink())protocolShareBps, fixed per vault at creation, at most 50 percentThe factory that created the vault (default 20 percent)
PartnersEach partner's shareBps of the fee earned on the shares its depositors holdThe mandate, per partner id (at most 50 percent)
Fee recipientThe remainderThe 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.

illustrative Worked Example Reference
RecipientUSDG
Protocol fee sink: 1,000 × 20%200.00
Partner: 1,000 × 20% × 50%100.00
Fee recipient: remainder700.00
Total distributed1,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.

A little more clarity?

Keep exploring, or revisit this topic from the navigation.