Skip to main content
Loading market data…
GET/api/v1/futures/basisStartup tier+ · 80 req/min

Latest annualised perp-vs-spot basis per base asset. Cash-and-carry telemetry.

Basis is the perp mark minus the spot last-trade. A persistently positive basis invites the classic cash-and-carry: long spot, short perp, capture the funding spread. Both legs need collectors — the endpoint returns `tableMissing: true` while either perp_mark_price or spot_price adapters are still pending.

Query parameters

This endpoint takes no query parameters.

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; ... }
// }

{
  rows: Array<{
    base: string;
    spotPrice: number;
    perpPrice: number;
    basisAbs: number;
    basisPct: number;
    annualizedPct: number;
    perpSource: string;
    spotSource: string;
    venueCount: number;
    ts: number;
  }>;
  tableMissing: boolean;
  lastTs: number | null;
}

Example

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

Requestbash
curl -sS "http://localhost:3000/api/v1/futures/basis" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "rows": [
      {
        "base": "BTC",
        "spotPrice": 63120.5,
        "perpPrice": 63210.0,
        "basisAbs": 89.5,
        "basisPct": 0.1418,
        "annualizedPct": 51.75,
        "perpSource": "binance_futures",
        "spotSource": "binance",
        "venueCount": 6,
        "ts": 1744835000000
      }
    ],
    "tableMissing": false,
    "lastTs": 1744835000000
  },
  "meta": { "total": 1, "tableMissing": false }
}

Notes

  • Annualisation uses 365x since perps have no expiry — treat it as a running yield, not a term structure.

Next

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