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

# userFees | Hyperliquid Info API

> Hyperliquid userFees: fetch a user's fee schedule and recent daily volume.

> [card] Credit Cost
>
> 1 per call

> [card] Processing
>
> Realtime

The Hyperliquid info endpoint with `type: "userFees"` is used to fetch a user's fee schedule and recent daily volume.

> [!TIP]
>
> Estimate your monthly cost for this API using the [Pricing Calculator](https://goldrush.dev/docs/pricing-calculator.md?endpoint=%2Fapi-reference%2Fhyperliquid-info%2Fuser-fees).

> [!NOTE]
>
> * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "userFees", "user": "..."}`.
> * `feeSchedule` is the exchange-wide tier table; `userCrossRate` / `userAddRate` are the effective rates this user pays after VIP-tier, referral, and staking discounts.
> * All rate and volume fields are decimal strings; a rate of `"0.00045"` means 4.5 basis points.

Returns a user's effective trading fees together with the exchange-wide fee schedule and the user's recent per-day traded volume. Use it to display the taker (cross) and maker (add) rates a wallet actually pays, and to reconstruct the tier table and discounts that produce them.

## Endpoint

```
POST https://hypercore.goldrushdata.com/info
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json
```

## Request

**type** `string` *required*

Always `"userFees"`.

**user** `string` *required*

The wallet address (lowercase 0x-prefixed hex).

### Example

```bash cURL theme={null}
curl -X POST https://hypercore.goldrushdata.com/info \
  -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "userFees",
    "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b"
  }'
```

```typescript TypeScript theme={null}
const response = await fetch("https://hypercore.goldrushdata.com/info", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GOLDRUSH_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    type: "userFees",
    user: "0x31ca8395cf837de08b24da3f660e77761dfb974b",
  }),
});

const fees = await response.json();
```

```python Python theme={null}
import os, requests

response = requests.post(
    "https://hypercore.goldrushdata.com/info",
    headers={"Authorization": f"Bearer {os.environ['GOLDRUSH_API_KEY']}"},
    json={
        "type": "userFees",
        "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
    },
)

fees = response.json()
```

## Response

A single object with the user's recent daily volume, the exchange-wide `feeSchedule`, the user's effective rates, and any active discounts / trial state.

```json theme={null}
{
  "dailyUserVlm": [
    {
      "date": "2026-07-09",
      "userCross": "587333.02",
      "userAdd": "1041946.77",
      "exchange": "3832824759.19"
    }
  ],
  "feeSchedule": {
    "cross": "0.00045",
    "add": "0.00015",
    "spotCross": "0.0007",
    "spotAdd": "0.0004",
    "referralDiscount": "0.04",
    "tiers": {
      "vip": [
        {
          "ntlCutoff": "5000000",
          "cross": "0.0004",
          "add": "0.00012",
          "spotCross": "0.0006",
          "spotAdd": "0.0003"
        }
      ],
      "mm": [
        {
          "makerFractionCutoff": "0.005",
          "add": "-0.00001"
        }
      ]
    },
    "stakingDiscountTiers": [
      { "bpsOfMaxSupply": "0.0", "discount": "0.0" },
      { "bpsOfMaxSupply": "0.1", "discount": "0.05" }
    ]
  },
  "userCrossRate": "0.000405",
  "userAddRate": "0.00015",
  "activeReferralDiscount": "0.0",
  "trial": null,
  "feeTrialReward": "0.0",
  "nextTrialAvailableTimestamp": null
}
```

### Field descriptions

> [!NOTE]
>
> All rate and volume fields (`userCross`, `userAdd`, `exchange`, `cross`, `add`, `userCrossRate`, `userAddRate`, and the tier / discount values) are returned as **decimal strings**. Do not parse them as floats. Rates are expressed as fractions of notional - `"0.00045"` = 4.5 bps.

**dailyUserVlm** `array\<object\>`

Recent per-day traded volume, one entry per day.

**properties**

**date** `string`

Calendar day in `YYYY-MM-DD` (UTC).

**userCross** `string`

The user's taker (cross) volume that day, in USDC.

**userAdd** `string`

The user's maker (add) volume that day, in USDC.

**exchange** `string`

Total exchange-wide volume that day, in USDC.

**feeSchedule** `object`

Exchange-wide fee schedule - the base rates and the tier tables that discounts are applied against.

**properties**

**cross** `string`

Base taker (cross) fee rate for perps.

**add** `string`

Base maker (add) fee rate for perps.

**spotCross** `string`

Base taker fee rate for spot.

**spotAdd** `string`

Base maker fee rate for spot.

**referralDiscount** `string`

Base referral discount, as a fraction of fees.

**tiers** `object`

Volume- and maker-based tier tables.

**properties**

**vip** `array\<object\>`

VIP tiers keyed by notional-volume cutoff. Each entry: `ntlCutoff` (volume threshold) plus the `cross`, `add`, `spotCross`, and `spotAdd` rates at that tier.

**mm** `array\<object\>`

Market-maker tiers. Each entry: `makerFractionCutoff` (share-of-maker-volume threshold) and the reduced `add` (maker) rate at that tier.

**stakingDiscountTiers** `array\<object\>`

Staking-based discount tiers. Each entry: `bpsOfMaxSupply` (staked HYPE as basis points of max supply) and the `discount` (fraction of fees) at that tier.

**userCrossRate** `string`

Effective taker (cross) rate this user pays, after all applicable discounts.

**userAddRate** `string`

Effective maker (add) rate this user pays, after all applicable discounts.

**activeReferralDiscount** `string`

Referral discount currently applied to the user, as a fraction of fees.

**trial** `object | null`

Active fee-trial details, or `null` when the user has no active trial.

**feeTrialReward** `string`

Reward accrued from the user's fee trial.

**nextTrialAvailableTimestamp** `int | null`

Millisecond timestamp when the next fee trial becomes available, or `null` when not applicable.

## Related endpoints

> [card] [userAbstraction](https://goldrush.dev/docs/api-reference/hyperliquid-info/user-abstraction.md)
>
> fetch a user's account-abstraction mode.

> [card] [userRateLimit](https://goldrush.dev/docs/api-reference/hyperliquid-info/user-rate-limit.md)
>
> fetch a user's API rate-limit usage and cap.

> [card] [userRole](https://goldrush.dev/docs/api-reference/hyperliquid-info/user-role.md)
>
> fetch a user's account role.

> [card] [userToMultiSigSigners](https://goldrush.dev/docs/api-reference/hyperliquid-info/user-to-multi-sig-signers.md)
>
> fetch the authorized signers for a multi-sig user.

> [card] [extraAgents](https://goldrush.dev/docs/api-reference/hyperliquid-info/extra-agents.md)
>
> list a user's approved API-agent wallets.

> [card] [subAccounts](https://goldrush.dev/docs/api-reference/hyperliquid-info/sub-accounts.md)
>
> fetch a master wallet's sub-accounts along with their full perp and spot state in a single call.

See all Hyperliquid endpoints: [Overview hub](https://goldrush.dev/docs/goldrush-hyperliquid/overview.md) · [Info API reference](https://goldrush.dev/docs/goldrush-hyperliquid/info-api/overview.md)

*Last reviewed: 2026-08-17*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.