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

# Perp Fees

> Fee structures for each perp DEX integrated on Mobula — Lighter and Gains Network — with numerical examples.

## Overview

Mobula routes perp orders to two DEXes today: **Lighter** and **Gains Network**. Each one has its own fee model — values below are taken directly from the protocols' public fee documentation.

<CardGroup cols={2}>
  <Card title="Lighter" icon="bolt" href="https://docs.lighter.xyz/trading/trading-fees">
    Orderbook DEX. Free for Standard accounts; staking-tier maker/taker fees for Premium.
  </Card>

  <Card title="Gains Network" icon="chart-line" href="https://docs.gains.trade/gtrade-leveraged-trading/fees-and-spread">
    Leveraged trading. Opening + closing fees on leveraged size, plus spread and borrowing fees.
  </Card>
</CardGroup>

***

## Lighter

Lighter is an on-chain orderbook. Fees depend on **account type** and, for Premium, on the amount of **LIT staked**.

### Standard Account (default)

<Note>
  **0% maker / 0% taker.** All markets, perpetuals and spot. No fee at all.
</Note>

|              | Maker | Taker | Taker latency | Maker latency | Cancel latency |
| ------------ | ----- | ----- | ------------- | ------------- | -------------- |
| **Standard** | 0%    | 0%    | 300 ms        | 200 ms        | 200 ms         |

### Premium Account (opt-in)

Premium unlocks lower latency and better cancel/post-only behavior, in exchange for a fee. Fees scale down with staked LIT:

| Staked LIT | Maker   | Taker   | Taker latency |
| ---------- | ------- | ------- | ------------- |
| 0          | 0.0040% | 0.0280% | 200 ms        |
| 1,000      | 0.0039% | 0.0273% | 195 ms        |
| 3,000      | 0.0038% | 0.0266% | 190 ms        |
| 10,000     | 0.0036% | 0.0252% | 180 ms        |
| 30,000     | 0.0034% | 0.0238% | 170 ms        |
| 100,000    | 0.0032% | 0.0224% | 160 ms        |
| 300,000    | 0.0030% | 0.0210% | 150 ms        |
| 500,000    | 0.0028% | 0.0196% | 140 ms        |

Staking discount is applied at the **L1 address level** — main account and sub-accounts share the same tier based on combined stake.

### Example — Lighter Premium, 0 staked LIT

Open a \$10,000 notional position as a market taker:

```
Notional      = $10,000
Taker fee     = 0.028%
Fee paid      = $10,000 × 0.00028 = $2.80
```

Same trade as a maker (resting limit order):

```
Notional      = $10,000
Maker fee     = 0.004%
Fee paid      = $10,000 × 0.00004 = $0.40
```

Same trade on a **Standard account**: **\$0**.

<Tip>
  Standard is free, so it's the default for most flow. Premium is opt-in for traders who need lower latency and the [volume quota program](https://apidocs.lighter.xyz/docs/volume-quota-program), and pay the maker/taker fee in exchange.
</Tip>

[Full Lighter fee documentation →](https://docs.lighter.xyz/trading/trading-fees)

***

## Gains Network

Gains charges fees on the **leveraged position size** (collateral × leverage), not on collateral. Four components on every trade:

1. **Opening fee** — taken when the trade opens
2. **Spread** — applied to the price (fixed + dynamic / price impact)
3. **Borrowing fee** — accrued per block while the trade is open
4. **Closing fee** — taken when the trade closes

### Opening + Closing fees by asset class

| Asset class                              | Opening | Closing |
| ---------------------------------------- | ------- | ------- |
| Crypto (core: BTC, ETH)                  | 0.05%   | 0.05%   |
| Crypto (non-core)                        | 0.06%   | 0.06%   |
| Forex (major)                            | 0.012%  | 0.012%  |
| Forex (minor)                            | 0.016%  | 0.016%  |
| Forex (exotic)                           | 0.02%   | 0.02%   |
| Commodities Tier 1 (Gold)                | 0.05%   | 0.05%   |
| Commodities Tier 2 (Silver, Oil, Pd, Pt) | 0.08%   | 0.08%   |
| Stocks                                   | 0.07%   | 0.07%   |
| Indices                                  | 0.05%   | 0.05%   |

### Spread

* **BTC, ETH:** 0% fixed spread (only dynamic spread applies)
* **Other crypto:** dynamic spread only, function of open interest and 1% market depth
* **Forex / Commodities:** fixed spread per pair (0.01% major, 0.04% tier 2 commodities, etc.)

Dynamic spread formula:

```
dynamic_spread (%) = (OI_side + new_position_size / 2) / depth_1pct
```

### Borrowing fee

Charged per block on total position size, scales with how lopsided the pair's open interest is:

```
feePerBlock = baseFeePerBlock × (effectiveOi / maxOi) ^ exponent
```

Pairs with very long-skewed (or short-skewed) OI charge more on the dominant side. Balanced books charge less.

### Example — Long ETH/USD on Gains

Setup:

```
Collateral    = 250 USDC
Leverage      = 10x
Position size = 2,500 USDC
Asset         = ETH (core crypto, 0.05% open / 0.05% close)
Entry price   = 3,003.19 (assume 0% fixed spread for ETH)
```

**Opening fee:**

```
2,500 × 0.05% = 1.25 USDC
Net collateral after fee = 248.75 USDC
Net position size        = 2,487.50 USDC
```

**Dynamic spread** (assuming 100k long OI and 8M depth):

```
dyn_spread = (100,000 + 2,487.50 / 2) / 8,000,000 = 0.0126%
opening price = 3,003.19 × (1 + 0.000126) ≈ 3,003.57
```

**Trade goes up 1%, close at 3,033.6:**

```
PnL gross   = 2,487.50 × 1% = 24.88 USDC
Closing fee = 2,487.50 × 0.05% = 1.24 USDC
Borrowing   = ~0.5 USDC (depends on duration / OI imbalance)

PnL net     = 24.88 - 1.24 - 0.5 = 23.14 USDC
Final out   = 248.75 + 23.14 = 271.89 USDC
```

So on a 250 USDC × 10x trade closed at +1%, the trader pockets **21.89 USDC** out of the \~25 USDC raw move — total fees (open + close + borrowing) ≈ **3 USDC**, or **\~12% of gross PnL** at this size.

<Note>
  Liquidation prices on Gains tighten over time as borrowing fees accrue. See the [Gains liquidation thresholds tables](https://docs.gains.trade/gtrade-leveraged-trading/fees-and-spread#liquidation-thresholds) for exact thresholds per asset class and leverage.
</Note>

[Full Gains Network fee documentation →](https://docs.gains.trade/gtrade-leveraged-trading/fees-and-spread)

***

## Quick comparison

|           | Lighter (Standard) | Lighter (Premium, 0 LIT)    | Gains (core crypto)               |
| --------- | ------------------ | --------------------------- | --------------------------------- |
| Open fee  | 0%                 | 0.028% taker / 0.004% maker | 0.05%                             |
| Close fee | 0%                 | 0.028% taker / 0.004% maker | 0.05%                             |
| Spread    | 0 (orderbook)      | 0 (orderbook)               | Fixed (per asset class) + dynamic |
| Borrowing | n/a                | n/a                         | per-block, OI-skew-based          |

<Tip>
  Use [`/2/perp/quote`](/exec/perps/perp-quote) to preview fees and slippage on either DEX before committing the trade — it returns a fee breakdown for the venue your order would route to. Pair it with the [Perp DEX Status](/data/perps/perp-dex-status) endpoint to confirm the upstream is healthy before routing.
</Tip>

***

## Related

<CardGroup cols={2}>
  <Card title="Perpetuals APIs Overview" icon="chart-mixed" href="/perps-introduction">Supported exchanges and capability map.</Card>
  <Card title="Get Perp Quote" icon="calculator" href="/exec/perps/perp-quote">Preview fills, fees and venue routing.</Card>
  <Card title="DEX Status" icon="heart-pulse" href="/data/perps/perp-dex-status">Lighter / Gains uptime, probe results and maintenance windows.</Card>
  <Card title="Perp Execution Flow" icon="bolt" href="/cookbooks/perp-execution-flow">Build → execute flow against Lighter and Gains.</Card>
</CardGroup>
