# Laevitas Perpetuals Flow API

> Laevitas Perpetuals Flow API is a paid API for AI agents from apiv2.laevitas.ch, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-13).

Retrieves order flow data for perpetual futures contracts across major crypto exchanges

## Facts

- Endpoint: GET https://apiv2.laevitas.ch/api/v1/perpetuals/flow
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/laevitas-perpetuals-flow-api-b1f0c789
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__oqCdzOfjM0Byg3KzqNZg

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-perpetuals-flow-api-b1f0c789
```

Example prompt: Pull the last 100 hourly order flow records for BTC-PERPETUAL on Deribit from Laevitas — I want to see buy vs sell flow over the past few days.

## When to prefer this

Use this endpoint when you need historical or recent order flow data specifically for perpetual futures contracts across major crypto exchanges like Binance, OKX, Deribit, Bybit, or Hyperliquid. Prefer this over spot or options flow endpoints when the user is interested in perpetual swap markets. Ideal for trading strategy analysis, flow imbalance detection, and market sentiment research.

## Known failure modes

- Missing or invalid API key returns 401 unauthorized
- Invalid exchange name returns empty data or 400 error
- Invalid instrument_name returns empty data array
- start/end timestamps out of range return empty data
- limit exceeding 1000 returns validation error
- Invalid resolution enum value returns 400 error
- Payment failure via x402 returns 402 with payment instructions

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

Most data endpoints also support x402 pay-per-request without an API key.

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

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 JSON object with a 'data' array containing perpetuals flow records and a 'success' boolean. Flow records are time-series entries for the specified exchange and instrument at the requested resolution.

## 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"
    },
    "pathParams": {
     "type": "object"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "end": {
       "type": "string"
      },
      "limit": {
       "type": "integer",
       "maximum": 1000,
       "minimum": 1
      },
      "start": {
       "type": "string"
      },
      "cursor": {
       "type": "string"
      },
      "exchange": {
       "type": "string"
      },
      "resolution": {
       "enum": [
        "1m",
        "5m",
        "15m",
        "1h",
        "4h",
        "1d"
       ],
       "type": "string"
      },
      "instrument_name": {
       "type": "string"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [],
  "success": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/laevitas-perpetuals-flow-api-b1f0c789/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)
