VIP Tiers

VIP tiers govern your fee schedule and rate limits. Two endpoints:

GET /vip/tiers

Public, unauthenticated. Use this to render a fee table or explain tiering to users.

curl https://api.godarkdex.com/api/v1/vip/tiers

Response

{
  "code": 0,
  "data": {
    "tiers": [
      {
        "tier": 0,
        "name": "Core",
        "min_30d_volume_usd": 0,
        "maker_fee_bps": 2,
        "taker_fee_bps": 5,
        "min_order_notional_usd": 25,
        "rate_limits": { "rest_per_min": 1200, "ws_msgs_per_sec": 30 }
      },
      {
        "tier": 1,
        "name": "Select",
        "min_30d_volume_usd": 5000000,
        "maker_fee_bps": 1,
        "taker_fee_bps": 4,
        "min_order_notional_usd": 50,
        "rate_limits": { "rest_per_min": 2400, "ws_msgs_per_sec": 60 }
      },
      {
        "tier": 2,
        "name": "Advanced",
        "min_30d_volume_usd": 10000000,
        "maker_fee_bps": 0,
        "taker_fee_bps": 3,
        "min_order_notional_usd": 75,
        "rate_limits": { "rest_per_min": 4800, "ws_msgs_per_sec": 120 }
      },
      {
        "tier": 3,
        "name": "Prime",
        "min_30d_volume_usd": 25000000,
        "maker_fee_bps": -0.5,
        "taker_fee_bps": 2.5,
        "min_order_notional_usd": 90,
        "rate_limits": { "rest_per_min": 9600, "ws_msgs_per_sec": 240 }
      },
      {
        "tier": 4,
        "name": "Apex",
        "min_30d_volume_usd": 50000000,
        "maker_fee_bps": -1,
        "taker_fee_bps": 2,
        "min_order_notional_usd": 100,
        "rate_limits": { "rest_per_min": 19200, "ws_msgs_per_sec": 480 }
      }
    ]
  },
  "timestamp": "2026-04-20T10:30:00.123Z"
}

Negative maker_fee_bps values are rebates.

GET /account/vip

Authoritative source for your fee schedule. Use this at login and refresh daily.

GET /account/vip

Auth: Authorization: Bearer <access_token>.

curl https://api.godarkdex.com/api/v1/account/vip \
  -H "Authorization: Bearer $TOKEN"

Response

{
  "code": 0,
  "data": {
    "tier": 2,
    "name": "Advanced",
    "maker_fee_bps": 0,
    "taker_fee_bps": 3,
    "min_order_notional_usd": 75,
    "rate_limits": { "rest_per_min": 4800, "ws_msgs_per_sec": 120 },
    "rolling_30d_volume_usd": "12450000.00",
    "next_tier": {
      "tier": 3,
      "name": "Prime",
      "volume_to_reach_usd": "12550000.00"
    },
    "effective_from": "2026-04-01T00:00:00Z",
    "recomputed_at": "2026-04-20T00:00:00Z"
  },
  "timestamp": "2026-04-20T10:30:00.123Z",
  "request_id": "req_01HXYZ..."
}

Field Reference

FieldDescription
tier / nameCurrent tier level and label
maker_fee_bps / taker_fee_bpsYour effective fees (authoritative — see below)
min_order_notional_usdMinimum order notional at your tier
rate_limitsYour current rate-limit budgets
rolling_30d_volume_usdQualifying notional volume over the last 30 days
next_tier.volume_to_reach_usdAdditional 30d volume required to advance
effective_fromWhen your current tier took effect
recomputed_atWhen tier was last evaluated (daily at 00:00 UTC)

Recomputation Cadence

Tiers are re-evaluated once per day at 00:00 UTC based on rolling 30d volume. Intraday volume increases are reflected in rolling_30d_volume_usd but do not change tier until the next evaluation.

Fee Authority

When GET /instruments shows different maker_fee_bps / taker_fee_bps than GET /account/vip, /account/vip is authoritative. Instrument fees are defaults applied to tier 0. Execution reports and settlement charges always use your tier-adjusted rates.

See Fee Structure for how fees are collected and settled.