Aperiodic/

marketsEvery perp on Binance, OKX and HyperliquidliquidityOpen interest, volume and depth, coin by coinunusual activityThe perps acting least like their own day
Every perpetual on Binance, OKX and Hyperliquid, updated every 15 seconds, 15 minutes behind. Search for a symbol like btc, or filter with vol>50m sort:-oi. Click a row for its charts.

Every number here is 15 minutes behind

5m bar 23:25–23:30 UTC

Free, from Aperiodic's own data. The hatched end of each chart marks the 15 minutes left out.

5m bars, 15 minutes behind. The newest runs 23:25–23:30 UTC; the next lands around 23:50 UTC, and the line under this bar fills until it does. Bars are labelled by their open and keyed on capture time: when Aperiodic received each trade, quote and update.

Every metric moves every 15 seconds, just as delayed, each a rolling window over the last 5 minutes, not a 15-second bar; funding, open interest and basis every minute, the finest they are measured at. The day's medians and means roll on with the 5m bars.

1667 perpetuals on Binance, OKX and Hyperliquid.

5m bars received in the last 24h: Binance 97.1% (124 with gaps) · OKX 90.3% (159 with gaps) · Hyperliquid 83.9% (136 with gaps).

Plans with live data and more history →
23:30:00 UTC
Collapse
All perpetuals
5m bars

CNPY

USDTOKX0.11250

CNPY perpetual futures on OKX: price, funding, open interest, spread, order book and taker flow for the OKX USDT contract, free and 15 minutes behind.

1h
+0.63%
24h
-7.71%
Volume 24h
$1.5M
Open interest
$328.3K
Funding
+0.0050%
Spread
8.78
Buy/sell
0.87
OI 24h
+6.10%
Price0.1125001-01 00:00
Order booktop 20 price levelsleans bid 2.07×01-01 00:00
levelsasks $10.9K
11–20$6.0K
6–10$3.3K
1–5$1.6K
spread8.88 bps
1–5$1.6K
6–10$3.1K
11–20$17.9K
bids $22.6K

OKX quotes book sizes in contracts (BTC-USDT-SWAP is 0.01 BTC each). This page converts them by each contract’s size; the API’s okx-perps l1_liquidity and l2_liquidity still count contracts, so multiply by the contract size to compare.

Open interest01-01 00:00
Funding%01-01 00:00
Spreadbps01-01 00:00
Buy/sell01-01 00:00
Top depth01-01 00:00
Book imb.01-01 00:00
Net taker01-01 00:00
Toxicity01-01 00:00
Realized volann.01-01 00:00
Basisbps01-01 00:00
Trades per 5m01-01 00:00
Large orders%01-01 00:00
Rangebps01-01 00:00
Slippagebps01-01 00:00
Kyle λ01-01 00:00
CNPY liquidity across venues: depth, spread and where to trade it →

Get this contract's data

Python, the free preview month
from datetime import date

from aperiodic import get_derivative_metrics, get_metrics, get_ohlcv

# Runs now, no API key: the free preview of these datasets, 5m bars of
# perpetual-BTC-USDT:USDT on binance-futures, 2025-05-01 to 2025-05-31.
# Install: pip install "aperiodic[polars]"
# The preview is keyed on exchange time (timestamp="exchange"); the page and the keyed tabs key bars on capture time ("true").
PREVIEW = dict(
    exchange="binance-futures",
    symbol="perpetual-BTC-USDT:USDT",
    interval="5m",
    timestamp="exchange",
    start_date=date(2025, 5, 1),
    end_date=date(2025, 5, 31),
    preview=True,
)

ohlcv = get_ohlcv(**PREVIEW)
open_interest = get_derivative_metrics(metric="open_interest", **PREVIEW)
funding = get_derivative_metrics(metric="funding", **PREVIEW)
l1_liquidity = get_metrics(metric="l1_liquidity", **PREVIEW)
flow = get_metrics(metric="flow", **PREVIEW)
l2_imbalance = get_metrics(metric="l2_imbalance", **PREVIEW)
returns = get_metrics(metric="returns", **PREVIEW)
basis = get_derivative_metrics(metric="basis", **PREVIEW)
trade_size = get_metrics(metric="trade_size", **PREVIEW)
range = get_metrics(metric="range", **PREVIEW)
slippage = get_metrics(metric="slippage", **PREVIEW)
impact = get_metrics(metric="impact", **PREVIEW)
print(ohlcv.head())
CLI, the free preview month
# Install the Aperiodic CLI into ~/.local/bin
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/aperiodic-io/cli/main/install.sh | INSTALL_DIR="$HOME/.local/bin" bash
export PATH="$HOME/.local/bin:$PATH"

# Runs now, no API key: the free preview month (binance-futures perpetual-BTC-USDT:USDT, 5m)
# The preview is keyed on exchange time (timestamp="exchange"); the page and the keyed tabs key bars on capture time ("true").
for dataset in ohlcv open_interest funding l1_liquidity flow l2_imbalance returns basis trade_size range slippage impact; do
  aperiodic "$dataset" --preview \
    --exchange binance-futures --symbol perpetual-BTC-USDT:USDT \
    --interval 5m --timestamp exchange \
    --start-date 2025-05-01 --end-date 2025-05-31 \
    --output-dir "./data/$dataset"
done
No key, no account: one contract for one month. Get a key · PlansUsing it at a fund or desk needs a commercial licence: Prime Commercial, or Institutional for an SLA, 15s bars and delivery to your S3. Request a proof of concept

Or have your agent pull it. Start in Claude · Claude Code · Codex · See the prompt

↑↓ j k move↵ open/ search⌘K commandss starp ping chartsl learna api[ ] rangeb boardv by asset1–3 venue? helpEvery number is from Aperiodic's own 5m bars, 15 minutes behind. Using this data