> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mystockline.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Reserve and fees

> Where every fee goes.

Fees exist to put a buffer in front of suppliers.

`FeeCollector` splits protocol USDG into reserve then treasury. BuyAndBurn spends treasury only.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/mystockline/T8zoJG9K_VZWCC6Y/assets/diagrams/concepts/money-flow-light.svg?fit=max&auto=format&n=T8zoJG9K_VZWCC6Y&q=85&s=860a48fb2a90031e88b302aa3b0ca64f" alt="Borrower interest and liquidation cuts flow through FeeCollector into reserve, then treasury, then an optional buy-and-burn of STK." width="1200" height="560" data-path="assets/diagrams/concepts/money-flow-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/mystockline/T8zoJG9K_VZWCC6Y/assets/diagrams/concepts/money-flow-dark.svg?fit=max&auto=format&n=T8zoJG9K_VZWCC6Y&q=85&s=82ab369d7e33552cb038e51b22725b0e" alt="Borrower interest and liquidation cuts flow through FeeCollector into reserve, then treasury, then an optional buy-and-burn of STK." width="1200" height="560" data-path="assets/diagrams/concepts/money-flow-dark.svg" />
</Frame>

<Info>
  Many protocols send fees to a treasury first. Stockline fills a reserve to target before treasury receives anything.
</Info>

1. Reserve factor on interest: [15%](/resources/parameters).
2. Protocol share of liquidation discount: [10%](/resources/parameters).
3. Allocate to reserve until `reserveTargetPct` of `pool.borrowed`.
4. Remainder to treasury.

`FeeCollector` hardcodes `reserveTargetPct = 0.05e18` (5%) until PARAMETERS.json publishes another value. `burnBudgetBps = 2000` (20% of treasury per epoch). `burnEpoch = 7 days`.

Interest cash arrives on repay. Liquidation fees arrive as stock in the same transaction, then can be swept to USDG.

Permissionless `buyAndBurn` on `FeeCollector` swaps treasury USDG to ETH to STK through the Pons pool, bounded by TWAP slippage and `maxPerCall`. Burn is a transfer to `0x000…dEaD`. It cannot spend reserve.

`CreatorFeeRouter` receives 70% of the 1% Pons trade fee in ETH. `sweep()` converts to USDG under a TWAP check and donates to `USDGPool` without minting shares. That is the pre-mainnet yield.

Related: [Earn](/using/earn), [STK](/ecosystem/stk), [Parameters](/resources/parameters).

Interest cash arrives when a borrower repays. Liquidation fees arrive as stock in the same transaction as the seize, then can be swept to USDG. The reserve target is 5 percent of borrowed until a new number is published. Buy-and-burn cannot spend reserve. It cannot exceed the epoch budget or the per-call cap, and it cannot accept worse than max slippage against TWAP.

Creator fees are the pre-mainnet path. They do not need emissions to start. Emissions, if started, stream developer-buy STK to sUSDG holders on an immutable schedule.

ARCHITECTURE.md does not list burnBudgetBps or burnEpoch. The FeeCollector contract does. These docs follow the code.
