> For the complete documentation index, see [llms.txt](https://docs.iridius.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iridius.xyz/protocol/fees.md).

# Fees

What the protocol charges, who pays each charge, and what the money pays for.

Every fee is charged at the point where value really moves, stated openly, and shown as a separate line on the ticket. There are no hidden markups, and no order flow is ever sold.

| Fee                    | Rate (initial)                                                              | Paid by                           | When              |
| ---------------------- | --------------------------------------------------------------------------- | --------------------------------- | ----------------- |
| Vault swap fee         | 2 bps of notional, included in the quoted all-in price but shown separately | Trader                            | On every fill     |
| Vault spread share     | 10% of the spread the vault realises                                        | LPs, deducted from spread revenue | On every fill     |
| RFQ settlement fee     | 2 bps of notional                                                           | Trader                            | On every RFQ fill |
| Deposit and withdrawal | None                                                                        |                                   |                   |

A swap with two legs is charged on each leg. All rates are `ParamController` values that can move only through the timelock, always with a stated reason and never retroactively: a fill pays whatever fee applied at the moment it happened.

## The quote is also your invoice

Before anything is signed, each ticket shows mid, spread and fee as distinct numbers in bps and USDG, and the fill event writes that same breakdown on-chain. A fee change appears in the governance log before it can appear on any ticket.

## Where the fees end up

Fees collect in the `FeeCollector` contract and fund audits, the bug bounty, oracle and infrastructure costs, and the operation of the venue. Control over allocation moves to the governance module at the same time as parameter control. Details are in [Parameter governance](/transparency/governance.md).

## The economics as volume grows

Assume an average daily volume of 10M USDG and an average all-in half-spread of 12 bps:

* Swap and RFQ fees: 10M × 2 bps × 365, about 730K USDG per year.
* Spread share: 10M × 12 bps × 10% × 365, about 438K USDG per year.

That totals around 1.2M USDG a year, at volumes that are small next to the growth rate of this asset class. Running the same calculation at 50M a day gives roughly 5.8M USDG a year. More in [Business model](/resources/business-model.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.iridius.xyz/protocol/fees.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
