# Laevitas Historical Futures Total Volume by Exchange

> Laevitas Historical Futures Total Volume by Exchange 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 total futures trading volume broken down by exchange for a given cryptocurrency currency and option filter, paginated over a date range.

## Facts

- Endpoint: POST https://apiv2.laevitas.ch/api/v1/historical/futures/total_volume_by_exchange/%7Bcurrency%7D/%7Boption%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-total-volume-by-exchange-11b8753e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5itvo8a9VNqLlh7k2QO5r

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-total-volume-by-exchange-11b8753e -d '<json body>'
```

Example prompt: Can you pull the historical total futures trading volume broken down by exchange for BTC from January 1, 2024 through June 30, 2024, using daily granularity, starting on page 1 with 10 rows per page?

## When to prefer this

Use this endpoint when you need time-series historical data on futures trading volume aggregated or segmented by exchange for a specific crypto currency. It is the right choice for multi-exchange venue comparison, trend analysis, market share research, or building dashboards of derivatives activity. Prefer it over spot or options volume endpoints when the focus is specifically on futures (both perpetuals and dated contracts). For real-time or live volume snapshots, a different non-historical endpoint would be more appropriate.

## Known failure modes

- Missing required 'start' parameter returns 400 error
- Invalid date format for start/end returns 400
- Page limit too large for daily positioning series returns 400 POSITIONING_DAILY_PAGE_TOO_LARGE
- Unsupported currency or option value returns 404 or empty result
- Missing or expired API key / insufficient x402 credits returns 401 or 402
- Conflicting market and c/d parameters silently fall back to v1 no-filter behavior

## 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

Returns a paginated JSON object with meta fields (total rows, items per page, total pages) and an items array where each entry contains a Unix millisecond timestamp, a 'perpetual' object with volume keyed by exchange venue, and a 'future' object with dated futures volume also keyed by venue (USD-equivalent and base-asset quantities, with documented caveats for Deribit, Kraken, and Binance ETHBTC).

## 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 UTC."
  },
  "page": {
   "type": "integer",
   "description": "Default query page 1; omitted meta.page matches v1."
  },
  "limit": {
   "type": "integer",
   "description": "Default query 10 rows unless stated otherwise; otherwise omitted meta.total_pages uses divisor 1 as in v1. Max pain counts maturity rows. Daily (1d) options_oi_by_currency, options_volume_by_currency and options_volume_total with exchange=aggregate use at most 2 rows per page, default 2. Larger limits return 400 POSITIONING_DAILY_PAGE_TOO_LARGE. Use limit=2 from page=1 and follow total_pages; the date range and totals are unchanged. Other series and resolutions keep their existing limits."
  },
  "start": {
   "type": "string",
   "description": "Legacy ISO/date-only or 10/13-digit epoch."
  },
  "market": {
   "type": "string",
   "description": "Legacy optional market filter; incompatible c/d and market retain the v1 no-filter behavior."
  },
  "granularity": {
   "type": "string",
   "description": "UTC sample grid, not interval 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",
     "perpetual",
     "future"
    ],
    "properties": {
     "date": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0,
      "description": "Source observation Unix milliseconds, UTC; coarse resolution samples observations rather than summing the interval."
     },
     "future": {
      "type": "object",
      "description": "Dated futures. Uppercase venue keys: e.g. DERIBIT is USD-equivalent exposure/volume; DERIBIT_notional is base-asset quantity despite the legacy name. OI is outstanding exposure; volume is the retained rolling volume observation, not interval volume. Missing venue keys are not certified zero OI. Retained futures OI/volume totals count Kraken contract names that differ only in letter case once. If those copies disagree, the affected USD or base-asset total is null, not zero or a partial sum. Other venues are not case-normalized. This does not certify original publication time or history completeness. BINANCE ETHBTC is quoted in BTC. Historical totals report USD values and ETH quantities. Older BTC quote volume is converted to an ETH equivalent at the historical instrument price; newer base volume is already ETH. OI quantity is in ETH. Where USD OI requires conversion, it uses a BTCUSDT index (valid mark fallback) from the same observation minute, never a current or later-minute price. Missing or conflicting required reference prices make the affected venue/margin total null. Corrected historical values do not certify when the original value was first available.",
      "additionalProperties": {
       "type": "number",
       "nullable": true
      }
     },
     "perpetual": {
      "type": "object",
      "description": "Perpetual contracts. Upper
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/laevitas-historical-futures-total-volume-by-exchange-11b8753e/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)
