Skip to main content
Loading market data…
GET/api/v1/funding-ratesStartup tier+ · 80 req/min

Current funding matrix across every exchange, or per-coin history for carry-strategy backtests.

Funding rates are what perpetual swap longs pay shorts (or vice versa) to keep price pinned to spot. Without `coin`, you get a pivot table (coin × exchange) of the latest rates plus the current extremes — useful for spotting cross-venue funding arb. With a `coin`, you get a daily time series for that single asset, good for backtesting funding-carry strategies.

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
coinstringoptional
Switch to time-series mode for a single base asset.
daysnumberoptional7
Only honoured when `coin` is supplied. Trailing window. Max 90.

Response shape

Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.

data payloadtypescript
// Wrapped in the standard envelope:
// {
//   data: /* shape below */,
//   meta?: { total?: number; limit?: number; offset?: number; ... }
// }

// Matrix mode (no coin):
{
  coins: string[];
  exchanges: string[];
  matrix: Record<string, Record<string, {
    rate: number;
    apr: number;
    ts: number;
  } | null>>;
  newestTs: number | null;
  extremes: {
    positive: Array<{ coin: string; exchange: string; rate: number }>;
    negative: Array<{ coin: string; exchange: string; rate: number }>;
  };
}

// History mode (coin supplied):
{
  base: string;
  days: number;
  points: Array<{ ts: number; rate: number; apr: number }>;
}

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/funding-rates?coin=ETH&days=7" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "base": "ETH",
    "days": 7,
    "points": [
      { "ts": 1744220400000, "rate": 0.0001, "apr": 10.95 },
      { "ts": 1744249200000, "rate": 0.00008, "apr": 8.76 }
    ]
  },
  "meta": { "total": 2, "days": 7 }
}

Notes

  • APR is annualised from the 8-hour funding interval — (`rate × 3 × 365`).
  • Empty `points` for an obscure coin is a valid 200, not a 404.

Next

Check the error code reference, or get an API key to try the request against your own account.