# Laevitas Historical Futures Annualized Basis

> Laevitas Historical Futures Annualized Basis is a paid API for AI agents from apiv2.laevitas.ch, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-31).

Returns historical time-series data of annualized basis for dated futures contracts by currency and tenor across exchanges.

## Facts

- Endpoint: POST https://apiv2.laevitas.ch/api/v1/historical/futures/futures_annualized_basis/%7Bcurrency%7D/%7Bdays%7D?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/laevitas-historical-futures-annualized-basis-abbca4a3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HfbqvcFqxUy2GtEhj_2A3

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 laevitas-historical-futures-annualized-basis-abbca4a3 -d '<json body>'
```

Example prompt: Pull the historical annualized basis for BTC 90-day dated futures from January 1, 2024 through June 30, 2024 with daily granularity so I can see how the basis evolved across exchanges over that period.

## When to prefer this

Use this endpoint when you need historical time-series of annualized dated-futures basis (not perpetual funding rates) for a specific currency and tenor, with per-exchange breakdown. Prefer it over spot or perpetuals endpoints when analyzing futures contango/backwardation dynamics or running basis trade backtests.

## Known failure modes

- Missing required 'start' parameter returns a validation error
- Invalid currency or days path parameters may return 404 or empty results
- Requesting data beyond subscription plan history limits may return 402 or empty results
- Malformed date/epoch in start or end fields causes a parsing error
- Granularity value not on the known UTC sampling grid may be ignored or error

## How this service works

Professional market data API for crypto derivatives, spot markets, prediction markets, Hyperliquid HyperCore data, proprietary volatility surfaces, and analytics.

## Authentication

Use an API key for authenticated REST requests:

```http
X-API-Key: your-api-key-here
```

Data and history endpoints also accept x402 without an API key: 1, 5 or 10 credits ($0.001 each) for data up to 1 year, 1–3 years or older.

**Subscriptions with USDC:** Premium and Enterprise can be purchased on Base or Solana for a month, a quarter, six months or a year. Access is prepaid, with no automatic renewal. [Buy a subscription](https://v3.laevitas.ch/profile/subscription/wallet) or read the [USDC subscription guide](/x402#subscriptions).

The subscription belongs to your signed-in Laevitas account; wallet sign-in does not require an email. Enterprise users generate an API key in V3 after activation. Plan and billing-period limits still apply. Subscription purchases are separate from API credit bundles.

For Claude MCP, add `https://apiv2.laevitas.ch/api/v1/mcp`, select **Sign in now → Register automatically**
with no custom headers, and authorize with your API key on the Laevitas page.
Do not enter a client ID or secret manually. All OAuth clients require PKCE S256.
Connection guide: [MCP setup](/mcp). CIMD / published client identity is not supported.

| Resource | Path |
| --- | --- |
| OpenAPI JSON | `GET /openapi.json` |
| x402 discovery | `GET /.well-known/x402` |
| Changelog | `GET /api/v1/changelog` |
| WebSocket docs | `GET /websocket` |

## REST Surfaces

| Surface | Examples |
| --- | --- |
| Instruments | Cross-market contract reference data |
| Futures | OHLCVT, trades, tickers, orderbook, liquidations, carry |
| Perpetuals | OHLCVT, trades, funding, open interest, orderbook, liquidations |
| Options | OHLCVT, trades, Greeks, volatility, flow, dealer GEX |
| Options Backtests | Strategy templates, asynchronous submission, status, combined results, cancellation |
| Vol Surface | Proprietary surface snapshots, slices, strikes, term structure, risk |
| Spot | OHLCVT, ticker, trades, volume, L2 orderbook, snapshots |
| Predictions | Polymarket instruments, categories, trades, ticker history |
| Hyperliquid - HyperCore | Node-derived fills, liquidations, positions, funding, TWAPs, resting orders, L2 books |
| Analytics | Realized volatility and derived metrics |

## Pagination

Backtests are asynchronous jobs, not paginated market-data queries. Start with
`GET /api/v1/options/backtests/strategies`, submit with `POST /api/v1/options/backtests`,
then poll `/{id}` and retrieve `/{id}/result`. These responses have no data/meta wrapper.

Paginated endpoints return the cursor at `meta.next_cursor`. Pass that value back as the `cursor` query parameter to fetch the next page.

## WebSocket Streaming

Real-time streams are documented at `/websocket`.

| Data | Channel pattern |
| --- | --- |
| Trades | `trades.{market}.{exchange}.{instrument}` |
| OHLC ticker | `ohlc.ticker.{market}.{exchange}.{instrument}.{timeframe}` |
| OHLCVT | `ohlc.vt.{market}.{exchange}.{instrument}.{timeframe}` |

Variables: `market` is one of `perpetuals`, `futures`, `options`, or `spot`; `timeframe` is one of `1m`, `5m`, `15m`, `1h`, `4h`, or `1d`.

## Quick Start

```bash
curl "https://apiv2.laevitas.ch/api/v1/futures/ohlcvt?exchange=deribit&instrument_name=BTC-PERPETUAL" \
  -H "X-API-Key: your-api-key-here"
```

## Output

A paginated JSON response containing an array of timestamped items (Unix milliseconds), each with the annualized basis in percentage points per exchange for the selected currency and tenor, plus pagination metadata (total records, pages, items per page).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "start"
 ],
 "properties": {
  "end": {
   "type": "string",
   "description": "Date-only includes the whole UTC day. Omitted end is end of tomorrow in UTC."
  },
  "page": {
   "type": "integer",
   "description": "Omitted queries page 1 but omits meta.page, as in v1."
  },
  "limit": {
   "type": "integer",
   "description": "Omitted queries 10 timestamps but uses divisor 1 for meta.total_pages, as in v1."
  },
  "start": {
   "type": "string",
   "description": "Legacy ISO/date-only or 10/13-digit epoch."
  },
  "granularity": {
   "type": "string",
   "description": "Known UTC sampling grid, not aggregation. Omitted or -- means native."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "meta",
  "items"
 ],
 "properties": {
  "meta": {
   "type": "object",
   "required": [
    "total",
    "items",
    "total_pages"
   ],
   "properties": {
    "page": {
     "type": "integer",
     "maximum": 9007199254740991,
     "minimum": 0,
     "exclusiveMinimum": true
    },
    "items": {
     "type": "integer",
     "maximum": 9007199254740991,
     "minimum": 0
    },
    "total": {
     "type": "integer",
     "maximum": 9007199254740991,
     "minimum": 0
    },
    "total_pages": {
     "type": "integer",
     "maximum": 9007199254740991,
     "minimum": 0
    }
   },
   "additionalProperties": false
  },
  "items": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "date"
    ],
    "properties": {
     "date": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Source observation Unix milliseconds, UTC; resolution samples observations rather than calculating interval totals."
     }
    },
    "additionalProperties": {
     "type": "number",
     "nullable": true,
     "description": "Annualized dated-futures basis in percentage points for this exchange and selected tenor; not a perpetual funding settlement."
    }
   }
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/laevitas-historical-futures-annualized-basis-abbca4a3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from apiv2.laevitas.ch](https://www.zero.xyz/host/apiv2.laevitas.ch/llms.txt)
