# Fees

Perpl uses a maker-taker model. Maker fees are paid when adding liquidity to the order book, while taker fees are paid when removing liquidity from it. The user only pays fees to open a trade, not to close it. Hence, there's no rakeback on the profits. See the fee structure below in BPS.

<table><thead><tr><th width="76.8203125">Tier</th><th>14‑day Volme</th><th data-type="number">Maker Open</th><th data-type="number">Taker Open</th><th data-type="number">Maker Close</th><th data-type="number">Taker Close</th></tr></thead><tbody><tr><td>T1</td><td>&#x3C; $5M</td><td>5</td><td>8.8</td><td>0</td><td>0</td></tr><tr><td>T2</td><td>≥ $5M</td><td>4</td><td>4.8</td><td>0</td><td>0</td></tr><tr><td>T3</td><td>≥ $25M</td><td>2</td><td>7</td><td>0</td><td>0</td></tr><tr><td>T4</td><td>≥ $100M</td><td>1</td><td>6.6</td><td>0</td><td>0</td></tr><tr><td>T5</td><td>≥ $250M</td><td>0.4</td><td>6</td><td>0</td><td>0</td></tr><tr><td>VIP1</td><td>≥ $1B</td><td>0</td><td>5</td><td>0</td><td>0</td></tr><tr><td>VIP2</td><td>≥ $2.5B</td><td>0</td><td>4.6</td><td>0</td><td>0</td></tr></tbody></table>

At launch, all trades routed through the SDK and manual front-end traders are charged at Tier 1. At the end of the week, users will be rebated according to their volume fee tier. Trades routed through the frontend forwarder are automatically charged the appropriate fees.

{% hint style="info" %}
**On-chain vs off-chain fees**: The smart contract stores a single flat trading fee per perpetual (maximum 10%). The 7-tier maker-taker fee model with volume-based rebates (Tier 1 through VIP2) is applied off-chain — rebates are calculated based on weekly trading volume and distributed separately. The on-chain fee represents the base rate before any tier adjustments.
{% endhint %}

### Fee Types

| Fee               | Description                                                                                                                                                                       |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Trading fee**   | Charged per trade on the notional value. Configurable per perpetual, maximum 10%.                                                                                                 |
| **Recycle fee**   | Applied to orders with an expiry block. Refunded if the order is filled or self-canceled. Paid to whoever clears an expired order as an incentive. Currently set to 0 on mainnet. |
| **Insurance fee** | A portion of liquidation proceeds directed to the per-perpetual insurance fund (`liqInsAmtPer100K`).                                                                              |
| **Protocol fee**  | The remainder of liquidation proceeds after user and insurance shares.                                                                                                            |


---

# Agent Instructions: 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 current page URL with the `ask` query parameter:

```
GET https://docs.perpl.xyz/exchange/fees.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
