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 · last 30 days
newest first · times in UTC · page 3Exchange: All · Binance · OKX · Bybit · Bitget Change: All · Added · Removed · Reweighted
| Time (UTC) | Change | Index | Constituent | Weight before | Weight after |
|---|---|---|---|---|---|
| Added | Bybit CLANKERUSDT CLANKER | Gate CLANKER_USDT spot | 0% | 8.8% | |
| Added | Bitget BIGTIMEUSDT BIGTIME | KuCoin BIGTIME/USDT spot | 0% | 0.5% | |
| Added | Bitget BANDUSDT BAND | KuCoin BAND/USDT spot | 0% | 5.3% | |
| Added | Bitget BANANAUSDT BANANA | KuCoin BANANA/USDT spot | 0% | 3.1% | |
| Added | Bitget B2USDT B2 | Gate B2/USDT spot | 0% | 19% | |
| Added | Bitget B2USDT B2 | KuCoin B2/USDT spot | 0% | 7.5% | |
| Added | Bitget AUSDT A | KuCoin A/USDT spot | 0% | 1.2% | |
| Added | Bitget ATUSDT AT | Gate AT/USDT spot | 0% | 22% | |
| Added | Bybit BANDUSDT BAND | Coinbase BAND-USD spot | 0% | 11% | |
| Added | Bybit BANDUSDT BAND | KuCoin BAND-USDT spot | 0% | 3.5% | |
| Added | Bybit BANANAUSDT BANANA | KuCoin BANANA-USDT spot | 0% | 1.5% | |
| Added | Bitget ASRUSDT ASR | Binance ASR/TRY spot | 0% | 18% | |
| Added | Bitget ARUSDT AR | Bitget AR/USDT spot | 0% | 3.4% | |
| Added | Bybit AXLUSDT AXL | Gate WAXL_USDT spot | 0% | 0.7% | |
| Added | Bybit ATUSDT AT | Gate AT_USDT spot | 0% | 2.6% | |
| Added | Bybit ARPAUSDT ARPA | Coinbase ARPA-USD spot | 0% | 10% | |
| Added | Bitget ACTUSDT ACT | Gate ACT/USDT spot | 0% | 1.5% | |
| Added | Bybit 1000RATSUSDT RATS | KuCoin RATS-USDT spot | 0% | 26% | |
| Added | Bitget 1INCHUSDT 1INCH | Bitget 1INCH/USDT spot | 0% | 1.6% | |
| Added | Bitget 1000RATSUSDT RATS | KuCoin 1000RATS/USDT spot | 0% | 29% | |
| Added | Bybit 1000000MOGUSDT MOG | Kraken MOG/USD spot | 0% | 16% | |
| Added | OKX XOM-USDT-SWAP | gate_linear_perpetual XOM/USDT perp | 0% | 3% | |
| Added | OKX XOM-USDT-SWAP | okx_linear_perpetual XOM/USDT perp | 0% | 7.7% | |
| Added | OKX XLE-USDT-SWAP | okx_linear_perpetual XLE/USDT perp | 0% | 5.3% | |
| Added | OKX WEN-USDT-SWAP | okx_linear_perpetual WEN/USDT perp | 0% | 6% | |
| Added | OKX US100-USDT-SWAP | okx_linear_perpetual US100/USDT perp | 0% | 3% | |
| Added | OKX TSLL-USDT-SWAP | Gate TSLL/USDT spot | 0% | 3.4% | |
| Added | OKX SOFTBANK-USDT-SWAP SOFTBANK | okx_linear_perpetual SOFTBANK/USDT perp | 0% | 42% | |
| Added | OKX SNOW-USDT-SWAP | okx_linear_perpetual SNOW/USDT perp | 0% | 2.8% | |
| Added | OKX SHEIN-USDT-SWAP SHEIN | OKX XSHEIN/USDT spot | 0% | 14% | |
| Added | OKX SHEIN-USDT-SWAP SHEIN | okx_linear_perpetual SHEIN/USDT perp | 0% | 16% | |
| Added | OKX OSCR-USDT-SWAP | okx_linear_perpetual OSCR/USDT perp | 0% | 4.9% | |
| Added | OKX OKTA-USDT-SWAP | Gate OKTA/USDT spot | 0% | 1.2% | |
| Added | OKX MRK-USDT-SWAP | okx_linear_perpetual MRK/USDT perp | 0% | 2.3% | |
| Added | OKX LYTE-USDT-SWAP | okx_linear_perpetual LYTE/USDT perp | 0% | 4.1% | |
| Added | OKX JNJ-USDT-SWAP | okx_linear_perpetual JNJ/USDT perp | 0% | 3.8% | |
| Added | OKX ISRG-USDT-SWAP | Gate ISRG/USDT spot | 0% | 2.5% | |
| Added | OKX INFQ-USDT-SWAP | Bitget INFQ/USDT spot | 0% | 4% | |
| Added | OKX INFQ-USDT-SWAP | Gate INFQ/USDT spot | 0% | 2.6% | |
| Added | OKX GEV-USDT-SWAP | OKX XGEV/USDT spot | 0% | 3.7% | |
| Added | OKX GEV-USDT-SWAP | okx_linear_perpetual GEV/USDT perp | 0% | 4% | |
| Added | OKX CGNX-USDT-SWAP | Bitget CGNX/USDT spot | 0% | 3.7% | |
| Added | OKX ASML-USDT-SWAP | OKX XASML/USDT spot | 0% | 2.5% | |
| Added | OKX APP-USDT-SWAP | OKX XAPP/USDT spot | 0% | 4.8% | |
| Added | OKX APLD-USDT-SWAP APLD | Bitget APLD/USDT spot | 0% | 3% | |
| Added | Binance SOONUSDT SOON | aster SOONUSDT unknown | 0% | 16% | |
| Added | Binance LAYERUSDT LAYER | binance_cross2 LAYERUSDC*USDCUSDT cross | 0% | 4.6% | |
| Added | Binance LABUSDT LAB | aster LABUSDT unknown | 0% | 20% | |
| Added | Bitget ZKCUSDT ZKC | Gate ZKC/USDT spot | 0% | 4% | |
| Added | Bitget YBUSDT YB | Bitget futures YB/USDT perp | 0% | 5.2% |
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.