# HTTP — `GET /v1/fees`

Fee rates per venue market, in basis points, as decimal strings. Public
endpoint.

```http
GET /v1/fees
```

| Field | Meaning |
| --- | --- |
| `fees.venue` | Venue maker/taker rate charged to the user, after any Mosaiq subsidy. |
| `fees.tessera` | Mosaiq maker/taker rate on top of the venue rate. |
| `fees.total` | Sum applied to fill notional. |

```jsonc
{
  "status": "ok",
  "data": {
    "markets": [
      {
        "a": "BTC",
        "venue": "hyperliquid",
        "venueSymbol": "BTC",
        "venueMarketId": "0",
        "fees": {
          "venue": { "maker": "1.2", "taker": "3.6" },
          "tessera": { "maker": "0", "taker": "0" },
          "total": { "maker": "1.2", "taker": "3.6" }
        }
      },
      {
        "a": "BTC",
        "venue": "lighter",
        "venueSymbol": "BTC",
        "venueMarketId": "1",
        "fees": {
          "venue": { "maker": "0", "taker": "0" },
          "tessera": { "maker": "0", "taker": "1" },
          "total": { "maker": "0", "taker": "1" }
        }
      }
    ]
  },
  "server_time_ms": 1710000000000
}
```

Rates are loaded from the venues when the gateway starts. Charged fees are
computed from confirmed fill notional and reported per fill in
`userFills[].fees`. See [Fees](/concepts/fees).
