# Futures Basis & Perp Premium

> Futures Basis & Perp Premium is a paid API for AI agents from derivs.duoleads.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-15).

Returns futures basis and perpetual premium data for a given crypto coin across 8 derivatives exchanges, including mark prices, index prices, days to expiry, and annualised basis percentages.

## Facts

- Endpoint: GET https://derivs.duoleads.com/v1/basis?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/futures-basis-perp-premium-a776bbcd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_z7Tyr-wrJ3x7imEyoJnF5

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability futures-basis-perp-premium-a776bbcd
```

Example prompt: What's the current futures basis and perp premium for BTC across all exchanges — show me the annualised basis and days to expiry for each listed contract?

## When to prefer this

Choose this endpoint when you need cross-venue futures basis and perp premium data for a specific coin in a single call, especially for cash-and-carry analysis, term structure comparison, or identifying contango/backwardation across Bybit, Hyperliquid, dYdX, Gate, Kraken, Bitfinex, Deribit, and OKX simultaneously. Prefer this over the funding-rates endpoint when the futures curve and annualised basis are the primary focus rather than funding rates alone.

## Known failure modes

- Missing or invalid 'coin' query parameter returns a 400-level error
- Unrecognised coin symbol (e.g. a delisted token) may return empty futures and perp_premium arrays
- Stale data flagged with stale:true when a venue feed is delayed
- Payment not settled (x402 flow incomplete) results in a 402 Payment Required response
- Rate-limit or network timeout from upstream exchange may cause partial results

## How this service works

Perp funding rates, open interest, futures basis, implied volatility, liquidations, order book depth and a perp screener for crypto perpetual futures across 8 exchanges (Bybit, Hyperliquid, dYdX, Gate, Kraken, Bitfinex, Deribit, OKX), paid per call over x402 with USDC on Base. No account, no API key.

## Output

A JSON object containing: a list of dated futures contracts with mark price, index price, basis_pct, annualised_basis_pct, days_to_expiry, open interest in USD, 24h volume, venue, symbol, and expiry; a list of perp markets with mark price, index price, premium_pct, and 8h funding rate per venue; metadata fields including coin, as_of timestamp, unit definitions, a disclaimer, and a see_also pointer to the funding-rates endpoint.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "coin"
     ],
     "properties": {
      "coin": {
       "type": "string",
       "maxLength": 32,
       "minLength": 1,
       "description": "Coin symbol: BTC, ETH, SOL ... (also BTCUSDT, BTC-PERP, XBT)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "coin": "BTC",
  "colo": null,
  "as_of": "2026-10-14T23:00:00Z",
  "units": {
   "mark": "USD per coin",
   "index": "USD per coin (the venue's index; oracle on Hyperliquid and dYdX)",
   "times": "ISO 8601 UTC",
   "basis_pct": "(future - index) / index * 100",
   "premium_pct": "(perp mark - index) / index * 100",
   "days_to_expiry": "days (fractional)",
   "annualised_basis_pct": "basis_pct * 365 / days_to_expiry (simple); null when the future expires in less than 1 day (and left out of the term-structure average)"
  },
  "futures": [
   {
    "mark": 81562.96,
    "as_of": "2026-10-14T23:00:00Z",
    "index": 81563.54,
    "quote": "USD",
    "stale": false,
    "venue": "deribit",
    "expiry": "2026-10-15T08:00:00Z",
    "oi_usd": 1362060,
    "symbol": "BTC-15OCT26",
    "basis_pct": -0.000711102,
    "days_to_expiry": 0.375,
    "volume_24h_usd": 1294160,
    "annualised_basis_pct": null
   },
   {
    "mark": 81542.6,
    "as_of": "2026-10-14T23:00:00Z",
    "index": 81654,
    "quote": "USDT",
    "stale": false,
    "venue": "bybit",
    "expiry": "2026-10-16T08:00:00Z",
    "oi_usd": 6074760.61,
    "symbol": "BTCUSDT-16OCT26",
    "basis_pct": -0.136429,
    "days_to_expiry": 1.375,
    "volume_24h_usd": 146515.9953,
    "annualised_basis_pct": -36.2158
   },
   {
    "mark": 81582.4,
    "as_of": "2026-10-14T23:00:00Z",
    "index": 81563.54,
    "quote": "USD",
    "stale": false,
    "venue": "deribit",
    "expiry": "2026-10-16T08:00:00Z",
    "oi_usd": 8947950,
    "symbol": "BTC-16OCT26",
    "basis_pct": 0.0231231,
    "days_to_expiry": 1.375,
    "volume_24h_usd": 2927380,
    "annualised_basis_pct": 6.13813
   }
  ],
  "see_also": {
   "params": [
    "coin"
   ],
   "reason": "Compare the futures basis with perpetual funding on every venue.",
   "endpoint": "https://derivs.duoleads.com/v1/funding-rates"
  },
  "disclaimer": "Data only, not investment advice, not a benchmark; not affiliated with any exchange",
  "request_id": "01KEXAMPLE0000000000000000",
  "perp_premium": [
   {
    "mark": 81631.8,
    "as_of": "2026-10-14T23:00:00Z",
    "index": 81672.62,
    "stale": false,
    "venue": "bybit",
    "symbol": "BTCUSDT",
    "premium_pct": -0.04998,
    "funding_rate_8h": 0.00003501
   },
   {
    "mark": 81624,
    "as_of": "2026-10-14T23:00:00Z",
    "index": 81658,
    "stale": false,
    "venue": "hyperliquid",
    "symbol": "BTC",
    "premium_pct": -0.0416371,
    "funding_rate_8h": 0.000
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/futures-basis-perp-premium-a776bbcd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from derivs.duoleads.com](https://www.zero.xyz/host/derivs.duoleads.com/llms.txt)
