Perp index constituent changes
A perpetual's mark price is built from an index: a weighted basket of spot prices from several exchanges. This page lists every constituent the exchange added or removed, and every weight move of at least 5 percentage points, newest first.
Constituent changes as published by each exchange, detected by hourly snapshot. A removal is not a delisting. RSS feed.
Constituent changes · OKX · last 30 days
newest first · times in UTC · page 16Exchange: All · Binance · OKX · Bybit · Bitget Change: All · Added · Removed · Reweighted
| Time (UTC) | Change | Index | Constituent | Weight before | Weight after |
|---|---|---|---|---|---|
| Added | OKX ALAB-USDT-SWAP | OKX XALAB/USDT spot | 0% | 4.5% | |
| Added | OKX ADBE-USDT-SWAP | massive ADBE/USD reference | 0% | 2.4% | |
| Added | OKX ADBE-USDT-SWAP | OKX XADBE/USDT spot | 0% | 2.9% | |
| Added | OKX ADBE-USDT-SWAP | okx_linear_perpetual ADBE/USDT perp | 0% | 2.5% | |
| Added | OKX AAPL-USDT-SWAP AAPL | OKX XAAPL/USDT spot | 0% | 0% | |
| Added | OKX UNITREE-USDT-SWAP UNITREE | hyperliquid_oracle UNITREE/USD oracle | 0% | 36% | |
| Added | OKX TSLL-USDT-SWAP | Gate TSLL/USDT spot | 0% | 2.3% | |
| Added | OKX TER-USDT-SWAP TER | OKX XTER/USDT spot | 0% | 2.1% | |
| Added | OKX TEM-USDT-SWAP | okx_linear_perpetual TEM/USDT perp | 0% | 4.2% | |
| Added | OKX SPCH-USDT-SWAP | okx_linear_perpetual SPCH/USDT perp | 0% | 1.7% | |
| Added | OKX SHLD-USDT-SWAP | okx_linear_perpetual SHLD/USDT perp | 0% | 49% | |
| Added | OKX SHELL-USDT-SWAP SHELL | Gate SHELL/USDT spot | 0% | 20% | |
| Added | OKX SHAZ-USDT-SWAP SHAZ | OKX XSHAZ/USDT spot | 0% | 4.4% | |
| Added | OKX ROK-USDT-SWAP | Bitget ROK/USDT spot | 0% | 50% | |
| Added | OKX RDW-USDT-SWAP RDW | Gate RDW/USDT spot | 0% | 1.7% | |
| Added | OKX QCOM-USDT-SWAP QCOM | OKX XQCOM/USDT spot | 0% | 5% | |
| Added | OKX PROS-USDT-SWAP PROS | Coinbase PROS/USD spot | 0% | 43% | |
| Added | OKX PLTR-USDT-SWAP PLTR | OKX XPLTR/USDT spot | 0% | 1% | |
| Added | OKX OL-USDT-SWAP | Gate OL/USDT spot | 0% | 50% | |
| Added | OKX OKTA-USDT-SWAP | OKX XOKTA/USDT spot | 0% | 2.7% | |
| Added | OKX OFC-USDT-SWAP | Gate OFC/USDT spot | 0% | 25% | |
| Added | OKX NVDL-USDT-SWAP | Gate NVDL/USDT spot | 0% | 2% | |
| Added | OKX MOODENG-USDT-SWAP MOODENG | KuCoin MOODENG/USDT spot | 0% | 20% | |
| Added | OKX LAYER-USDT-SWAP LAYER | Bitget LAYER/USDT spot | 0% | 13% | |
| Added | OKX LAYER-USDT-SWAP LAYER | Bybit LAYER/USDT spot | 0% | 20% | |
| Added | OKX KO-USDT-SWAP | OKX XKO/USDT spot | 0% | 0.1% | |
| Added | OKX HYUNDAI-USDT-SWAP HYUNDAI | okx_linear_perpetual HYUNDAI/USDT perp | 0% | 1.4% | |
| Added | OKX HANMI-USDT-SWAP | okx_linear_perpetual HANMI/USDT perp | 0% | 44% | |
| Added | OKX GTLB-USDT-SWAP | okx_linear_perpetual GTLB/USDT perp | 0% | 1.4% | |
| Added | OKX GAS-USDT-SWAP GAS | Gate GAS/USDT spot | 0% | 14% | |
| Added | OKX DDOG-USDT-SWAP | okx_linear_perpetual DDOG/USDT perp | 0% | 2.8% | |
| Added | OKX CSCO-USDT-SWAP | OKX XCSCO/USDT spot | 0% | 3% | |
| Added | OKX CSCO-USDT-SWAP | okx_linear_perpetual CSCO/USDT perp | 0% | 5.3% | |
| Added | OKX CRM-USDT-SWAP | OKX XCRM/USDT spot | 0% | 3% | |
| Added | OKX CRM-USDT-SWAP | okx_linear_perpetual CRM/USDT perp | 0% | 3.7% | |
| Added | OKX APLD-USDT-SWAP | Bitget APLD/USDT spot | 0% | 1.1% | |
| Added | OKX APLD-USDT-SWAP | OKX XAPLD/USDT spot | 0% | 1.7% | |
| Added | OKX AEVO-USDT-SWAP AEVO | KuCoin AEVO/USDT spot | 0% | 13% | |
| Added | OKX ZM-USDT-SWAP | OKX XZM/USDT spot | 0% | 3% | |
| Added | OKX ZM-USDT-SWAP | okx_linear_perpetual ZM/USDT perp | 0% | 4% | |
| Added | OKX XIAOMI-USDT-SWAP | OKX XXIAOMI/USDT spot | 0% | 14% | |
| Added | OKX WCT-USDT-SWAP WCT | Bitget WCT/USDT spot | 0% | 13% | |
| Added | OKX UNH-USDT-SWAP | Bybit UNH/USDT spot | 0% | 1.6% | |
| Added | OKX TSM-USDT-SWAP TSM | OKX XTSM/USDT spot | 0% | 2.9% | |
| Added | OKX TER-USDT-SWAP TER | okx_linear_perpetual TER/USDT perp | 0% | 4.7% | |
| Added | OKX TEAM-USDT-SWAP | okx_linear_perpetual TEAM/USDT perp | 0% | 0.3% | |
| Added | OKX SOFTBANK-USDT-SWAP | hyperliquid_linear_perpetual_oracle SOFTBANK/USD oracle | 0% | 81% | |
| Added | OKX SAPIEN-USDT-SWAP SAPIEN | KuCoin SAPIEN/USDT spot | 0% | 15% | |
| Added | OKX RECALL-USDT-SWAP RECALL | KuCoin RECALL/USDT spot | 0% | 18% | |
| Added | OKX RDDT-USDT-SWAP | OKX XRDDT/USDT spot | 0% | 2.9% |
Method. Each exchange's public index-constituents API is read once an hour for every perpetual it lists. Added and removed constituents are always listed; weight moves only when they reach 5 percentage points. A removal is recorded only from a complete snapshot. The first snapshot of each perp is the starting composition, not a change. Event ids (the row anchors and RSS guids) never change.
How to read it. Index constituents decide which spot prices feed a perp's mark price. Exchanges sometimes change constituents before other listing changes, but a removal on its own says only that the index stopped using that source. Constituent changes as published by each exchange, detected by hourly snapshot. A removal is not a delisting.
Index constituent changes FAQ
What is a perpetual's index?
Exchanges do not liquidate on their own last traded price. They use a mark price built from an index: a weighted average of spot prices from several exchanges, with outlier guards. Each exchange publishes the current constituents and weights through its public API.
How are changes detected?
Hourly snapshots of each exchange's index constituents API. A constituent is added when it first appears, removed when a complete snapshot no longer lists it (a failed or partial snapshot never counts as a removal), and reweighted when its weight moves at least 5 percentage points. A change can be up to an hour old when it shows here.
Does a removed constituent mean the coin is leaving that exchange?
No. Exchanges add and drop index sources for many reasons: thin or stale books, a source exchange's maintenance, or a routine rebalance. A removal here only means the index stopped using that source.
Is there an RSS feed?
Yes: /mark-price-xray/changes/rss.xml carries the newest 50 changes and accepts the same ?venue= filter.