---
title: "Get client fees"
url: https://docs.truemarkets.co/api/institutional/get-client-fees-cefi
description: "Returns a client's maker and taker fee tiers and the fee rates those tiers currently resolve to. Rates are decimal fractions of trade notional (`'0.003'` is 0.3%). A tier with no configured fee resolves to `'0'`. JWT callers may omit `client_id` to read their own client; an HMAC caller without `client_id` reads the client named by `X-Truex-Auth-UserId`."
---

Docs index: https://docs.truemarkets.co/llms.txt

# Get client fees

```
GET https://api.truex.co/v1/cefi/clients/fees
```

Returns a client's maker and taker fee tiers and the fee rates those tiers currently resolve to. Rates are decimal fractions of trade notional (`"0.003"` is 0.3%). A tier with no configured fee resolves to `"0"`. JWT callers may omit `client_id` to read their own client; an HMAC caller without `client_id` reads the client named by `X-Truex-Auth-UserId`.

## Authentication

Clients must compute and send an HMAC signature in `x-truex-auth-signature`. Compute the payload exactly as: `timestamp + method + path + body` Then compute the signature as: `Base64( HMAC_SHA256(secret, payload) )` Rules: * `timestamp` is `x-truex-auth-timestamp` in **seconds since Unix epoch**. * `timestamp` must be no older than 15 seconds and no more than 1 second in the future. * `method` is uppercase HTTP method (`GET`, `POST`, `DELETE`, etc.). * `path` is everything after the domain, including leading `/` (e.g. `/v1/cefi/orders`) and excludes query string parameters. * `body` is the exact raw request body string. Use an empty string for requests with no body. Example payload: * `1700000000POST/v1/cefi/orders{"client_id":"7","instrument_id":"1","qty":"1","price":"100"}` Example signature (shell): * `printf '%s' "$PAYLOAD" | openssl dgst -sha256 -hmac "$SECRET" -binary | base64` Note, method is all upper case and path is everything after the domain name including the / (e.g. /v1/cefi/orders). Required headers: * `x-truex-auth-token`: The ID of the HMAC key being used (API key). * `x-truex-auth-signature`: The signature generated from processing the payload with the HMAC key. * `x-truex-auth-timestamp`: Current time as seconds since epoch. * `x-truex-auth-userid`: Client identifier.; Bearer token in `Authorization`

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `x-truex-auth-userid` | header | string | yes | Client identifier. |
| `x-truex-auth-timestamp` | header | string | yes | Timestamp when request was made in seconds since epoch. Must be no older than 15 seconds and no more than 1 second in the future. |
| `x-truex-auth-token` | header | string | yes | The UUID affiliated with the HMAC key. |
| `x-truex-auth-signature` | header | string | yes | The computed HMAC signature. |
| `client_id` | query | string | no | Exchange generated client ID to query fees for. Must be a client the caller may access. |

## Responses

Every error status returns the same body, described in [Errors](https://docs.truemarkets.co/developer-resources/errors.md).

### 200

Successful operation.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `client_id` | string | yes | Exchange generated client ID. |
| `maker_fee_tier` | integer | yes | Client's current maker fee tier. |
| `taker_fee_tier` | integer | yes | Client's current taker fee tier. |
| `maker_fee_rate` | string | yes | Fee rate charged on maker fills, as a decimal fraction of trade notional. Negative values are rebates. |
| `taker_fee_rate` | string | yes | Fee rate charged on taker fills, as a decimal fraction of trade notional. |

### 400

Bad request.

### 401

Unauthorized.

### 403

Forbidden.

### 404

Not found.

### 408

Request timeout.

### 500

Internal server error.

### 503

Service unavailable.
