XCU perps
Perp · OKX · #747 by volume
OKX USDT · 24h 6.144 – 6.334
- 24h volume
- $723.9K
- #747 of 910
- Open interest
- $1.4M
- +5.8% contracts · 24h
- Spread
- 2.42 bps
- median · 24h
- Size at best price
- $394
- mean · 24h
- Net taker flow
- −$103.6K
- every contract · 24h
- Funding
- +0.0000%
- per period · OKX
Aperiodic metrics · XCU · 24 h
Are takers buying or selling XCU?
FlowTakers sold $103.9K more than they bought on OKX USDT over 24 h; the heaviest hour, 15:20 UTC, saw $34.1K.
flow.volume_delta_notionalbusiest contract · hourly · 24 h
What does it cost to cross XCU's spread?
L1 liquidity2.42 bps median on OKX USDT, wider than 61% of the 200 most traded perps.
- #1BTC0.014 bps
- #2ETH0.051 bps
- #3SOXL1.56 bps
- #5SOL1.25 bps
- #10AKE3.20 bps
- #25SP5000.13 bps
- #50MUU5.64 bps
- #100MVLL8.76 bps
- #200AIN2.70 bps
- #747XCU2.42 bps
l1_liquidity.spread_bpsbusiest contract · median · 24 h
How much size waits at XCU's best price?
L1 liquidity$394 at the best bid and ask on OKX USDT, on average, thinner than 88% of the 200 most traded perps.
- #1BTC$651.3K
- #2ETH$269.7K
- #3SOXL$87.0K
- #5SOL$157.7K
- #10AKE$562
- #25SP500$105.4K
- #50MUU$22.5K
- #100MVLL$13.7K
- #200AIN$181
- #747XCU$394
l1_liquidity.total_dollar_depthbusiest contract · mean · 24 h
Which way is XCU's book leaning?
L2 imbalanceLeaned to the ask in 21 of 24 hours on OKX USDT; 40% bids over the day.
l2_imbalance.imbalance_ratio_10OKX USDT · top 10 levels · hourly
Does XCU trade away from its index?
Basis11.0 bps below its index on OKX USDT now; 4.68 bps to 29.7 bps below over 24 h.
basis.basis_bpsOKX USDT · hourly
Is leverage building in XCU?
Open interest$1.4M open across 1 contract: +5.8% in contracts, +3.3% in dollars over 24 h.
open_interest.open_interestbusiest contract · hourly
Who pays funding on XCU?
FundingLongs pay +0.0000% a period on OKX USDT; between −0.0680% and +0.0000% over 24 h.
funding.funding_rateOKX USDT · hourly
XCU's contract · now
| Contract | Price | 24h | Volume 24h | Open interest | Funding | Spread | Charts |
|---|---|---|---|---|---|---|---|
| OKX USDTperpetual-XCU-USDT:USDT | 6.152 | -2.18% | $723.9K | $1.4M | +0.0000% | 2.42 | Charts → |
History · a year of 5m bars per series · busiest contract
import os
from datetime import date
from aperiodic import get_derivative_metrics, get_metrics
# aperiodic.io/markets: XCU on OKX
# 5m bars, 2025-11-12 to 2026-11-12. Install: pip install "aperiodic[polars]"
# Needs an API key (https://aperiodic.io/home/api) on a plan with flow, basis, open_interest, funding (Pro) and l1_liquidity, l2_imbalance (Prime).
# OKX: okx-perps l1_liquidity and l2_liquidity count contracts, not coins (BTC-USDT-SWAP is 0.01 BTC each). Multiply by the contract size to match the page.
API_KEY = os.environ["APERIODIC_API_KEY"]
# timestamp="true" keys bars on capture time, as on the page; "exchange" keys them on exchange time.
PERIOD = dict(
interval="5m",
timestamp="true",
start_date=date(2025, 11, 12),
end_date=date(2026, 11, 12),
)
flow = get_metrics(
api_key=API_KEY,
metric="flow",
exchange="okx-perps",
symbol="perpetual-XCU-USDT:USDT",
**PERIOD,
)
l1_liquidity = get_metrics(
api_key=API_KEY,
metric="l1_liquidity",
exchange="okx-perps",
symbol="perpetual-XCU-USDT:USDT",
**PERIOD,
)
l2_imbalance = get_metrics(
api_key=API_KEY,
metric="l2_imbalance",
exchange="okx-perps",
symbol="perpetual-XCU-USDT:USDT",
**PERIOD,
)
basis = get_derivative_metrics(
api_key=API_KEY,
metric="basis",
exchange="okx-perps",
symbol="perpetual-XCU-USDT:USDT",
**PERIOD,
)
open_interest = get_derivative_metrics(
api_key=API_KEY,
metric="open_interest",
exchange="okx-perps",
symbol="perpetual-XCU-USDT:USDT",
**PERIOD,
)
funding = get_derivative_metrics(
api_key=API_KEY,
metric="funding",
exchange="okx-perps",
symbol="perpetual-XCU-USDT:USDT",
**PERIOD,
)Every number is from Aperiodic's own 5-minute bars, 15 minutes behind.