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

# Monetization

> Wire fee revenue into your integration - configuration, disclosure fields, and tracking.

This is the technical side of partner fees: where they attach and how to read them back. Each product surfaces fees slightly differently. Commercial framing - models, terms, rate guidance - lives in [Monetize](/monetize).

<Note>
  Your fee lives in **workspace configuration**, agreed as part of onboarding. From that point it attaches itself to every quote - requests carry no fee field.
</Note>

## Fee mechanics

Fees are denominated in basis points (25 bps = 0.25%). Quotes arrive with the fee already baked into the receive side, and itemise their components so nothing is hidden:

| Response field   | Type    | Description                                                    |
| ---------------- | ------- | -------------------------------------------------------------- |
| `platformFeeBps` | integer | Platform/partner fee applied to this quote, in basis points    |
| `lpSpreadBps`    | integer | The liquidity provider's spread component, disclosed per quote |

Product-by-product, the surface looks like this:

|                     | Router API                                                        | RFQ API                                          |
| ------------------- | ----------------------------------------------------------------- | ------------------------------------------------ |
| **Where it lands**  | Inside each candidate's settlement terms                          | Inside the firm quote                            |
| **How you see it**  | `platformFeeBps` per candidate                                    | `platformFeeBps` per quote                       |
| **How you're paid** | Per your workspace agreement                                      | Per your workspace agreement                     |
| **Where to audit**  | [Trade History](/trade-history-api/introduction) + order receipts | [Trade History](/trade-history-api/introduction) |

## Reading the fee on a quote

Request quotes as usual - the fee your workspace has configured is already reflected:

```python theme={null} theme={null}
import httpx

resp = httpx.post(
    "https://api.tetrafi.io/api/v1/router/quotes",
    json={
        "user": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693",
        "intent": {
            "intentType": "swap",
            "inputs": [{
                "user": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693",
                "asset": {"chainId": 10, "address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85"},
                "amount": "25000000"
            }],
            "outputs": [{
                "receiver": "0x2e7E7cc62919eAf4c502dAC34753cFc5A29e9693",
                "asset": {"chainId": 8453, "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}
            }],
            "swapType": "ExactInput"
        },
        "supportedTypes": ["escrow-v0"]
    },
    headers={"X-API-Key": "tfk_live_..."},
)

for quote in resp.json()["quotes"]:
    # The preview amounts already reflect the fee.
    print(quote["quoteId"], quote.get("platformFeeBps"), quote.get("lpSpreadBps"))
```

### Tracking your revenue

Fee-bearing volume is auditable whenever you like through [Trade History](/trade-history-api/quickstart) - your API key scopes everything to your own workspace automatically ([credential details here](/core-concepts/authentication)). The [quickstart](/trade-history-api/quickstart) covers filters and pagination end to end.

## Per-request fee overrides

A per-request `fee` / `feeRecipient` override on the Router namespace - for integrators running multiple fee tiers over one workspace - is part of the Router API target surface and will be documented here when it ships. Until then, fee changes go through your workspace configuration.
