Palladium perpsXPD
Commodity perp · Binance, OKX, Hyperliquid · #260 by volume
Binance USDT · 24h 999.800 – 1,025.0
- 24h volume
- $8.1M
- #260 of 919
- Open interest
- $7.0M
- −2.9% contracts · 24h
- Spread
- 1.88 bps
- median · 24h
- Size at best price
- $547
- mean · 24h
- Net taker flow
- −$461.1K
- every contract · 24h
- Funding
- +0.0000%
- per period · BIN
Aperiodic metrics · XPD · 24 h
Are takers buying or selling XPD?
FlowTakers sold $457.5K more than they bought on Binance, OKX and Hyperliquid over 24 h; the heaviest hour, 03:45 UTC, saw $182.0K.
flow.volume_delta_notionalbusiest contract on each venue · hourly · 24 h
What does it cost to cross XPD's spread?
L1 liquidity1.88 bps median on Binance USDT, tighter than 50% of the 200 most traded perps.
- #1BTC0.015 bps
- #2ETH0.052 bps
- #3SOXL1.57 bps
- #5SOL1.25 bps
- #10SPCX0.71 bps
- #25SP5000.13 bps
- #50MUU5.65 bps
- #100INTW1.73 bps
- #200MON6.08 bps
- #260XPD1.88 bps
l1_liquidity.spread_bpsbusiest contract · median · 24 h
How much size waits at XPD's best price?
L1 liquidity$547 at the best bid and ask on Binance USDT, on average, thinner than 79% of the 200 most traded perps.
- #1BTC$658.7K
- #2ETH$268.7K
- #3SOXL$87.5K
- #5SOL$157.1K
- #10SPCX$17.5K
- #25SP500$111.7K
- #50MUU$21.2K
- #100INTW$1.3K
- #200MON$2.3K
- #260XPD$547
l1_liquidity.total_dollar_depthbusiest contract · mean · 24 h
Which way is XPD's book leaning?
L2 imbalanceLeaned to the bid in 15 of 24 hours on Binance USDT; 51% bids over the day.
l2_imbalance.imbalance_ratio_10Binance USDT · top 10 levels · hourly
Where does XPD trade?
OHLCVBinance USDT took 81% of $8.1M traded in 24 h.
volume sharespread
- Binance USDT81%1.88
- OKX USDT12%1.98
- Hyperliquid xyz USDC6.7%8.95
ohlcv.volume_notionaleach contract · 24 h
Does XPD trade away from its index?
Basis2.70 bps above its index on Binance USDT now; 1.02 bps below to 14.9 bps above over 24 h.
basis.basis_bpsBinance USDT · hourly
Is leverage building in XPD?
Open interest$7.0M open across 3 contracts: −2.9% in contracts, −3.7% in dollars over 24 h.
open_interest.open_interestbusiest contract on each venue · hourly
Who pays funding on XPD?
FundingLongs pay on 0 of 3 contracts; Binance USDT charges +0.0000% a period (Hyperliquid’s are hourly).
- Binance USDT+0.0000%
- OKX USDT+0.0000%
- Hyperliquid xyz USDC−0.0027%
← shorts paylongs pay →
funding.funding_rateeach contract · per funding period · now
XPD's 3 contracts · now
| Contract | Price | 24h | Volume 24h | Open interest | Funding | Spread | Charts |
|---|---|---|---|---|---|---|---|
| Binance USDTperpetual-XPD-USDT:USDT | 1,003.3 | -0.06% | $6.5M | $5.1M | +0.0000% | 1.88 | Charts → |
| OKX USDTperpetual-XPD-USDT:USDT | 1,002.7 | -0.10% | $996.0K | $500.1K | +0.0000% | 1.98 | Charts → |
| Hyperliquid xyz USDCperpetual-XYZ:PALLADIUM-USDC:USDC | 1,000.5 | -0.06% | $544.5K | $1.5M | −0.0027% | 8.95 | Charts → |
History · a year of 5m bars per series · busiest contract on each venue
import os
from datetime import date
from aperiodic import get_derivative_metrics, get_metrics
# aperiodic.io/markets: XPD on Binance, OKX and Hyperliquid
# 5m bars, 2025-11-13 to 2026-11-13. 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, 13),
end_date=date(2026, 11, 13),
)
CONTRACTS = [
("binance-futures", "perpetual-XPD-USDT:USDT"),
("okx-perps", "perpetual-XPD-USDT:USDT"),
("hyperliquid-perps", "perpetual-XYZ:PALLADIUM-USDC:USDC"),
]
frames = {}
for exchange, symbol in CONTRACTS:
frames["flow", exchange, symbol] = get_metrics(
api_key=API_KEY,
metric="flow",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["l1_liquidity", exchange, symbol] = get_metrics(
api_key=API_KEY,
metric="l1_liquidity",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["l2_imbalance", exchange, symbol] = get_metrics(
api_key=API_KEY,
metric="l2_imbalance",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["basis", exchange, symbol] = get_derivative_metrics(
api_key=API_KEY,
metric="basis",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["open_interest", exchange, symbol] = get_derivative_metrics(
api_key=API_KEY,
metric="open_interest",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["funding", exchange, symbol] = get_derivative_metrics(
api_key=API_KEY,
metric="funding",
exchange=exchange,
symbol=symbol,
**PERIOD,
)Every number is from Aperiodic's own 5-minute bars, 15 minutes behind.