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 · Bitget · last 30 days
newest first · times in UTC · page 18Exchange: All · Binance · OKX · Bybit · Bitget Change: All · Added · Removed · Reweighted
| Time (UTC) | Change | Index | Constituent | Weight before | Weight after |
|---|---|---|---|---|---|
| Reweighted | Bitget AAPUUSDT | massive AAPU/USD reference | 30% | 37% | |
| Reweighted | Bitget AAPUUSDT | tiger AAPU/USD unknown | 20% | 27% | |
| Reweighted | Bitget AAPLUSDT AAPL | Binance index AAPL/USDT index | 20% | 33% | |
| Reweighted | Bitget AAPLUSDT AAPL | Hyperliquid AAPL/USD unknown | 20% | 33% | |
| Reweighted | Bitget AAPLUSDT AAPL | pyth_pro AAPL/USD oracle | 20% | 33% | |
| Reweighted | Bitget AAOIUSDT AAOI | dxfeed AAOI/USD unknown | 20% | 30% | |
| Reweighted | Bitget AAOIUSDT AAOI | pyth_pro AAOI/USD oracle | 30% | 40% | |
| Reweighted | Bitget AAOIUSDT AAOI | tiger AAOI/USD unknown | 20% | 30% | |
| Reweighted | Bitget 10000NEXUSDT NEX | MEXC 10000NEX/USDT spot | 74% | 84% | |
| Reweighted | Bitget ZILUSDT ZIL | OKX ZIL/USDT spot | 12% | 17% | |
| Reweighted | Bitget ZESTUSDT ZEST | Gate ZEST/USDT spot | 68% | 79% | |
| Reweighted | Bitget XBIUSDT | massive XBI/USD reference | 25% | 33% | |
| Reweighted | Bitget XBIUSDT | pyth_pro XBI/USD oracle | 25% | 33% | |
| Reweighted | Bitget XBIUSDT | tiger XBI/USD unknown | 25% | 33% | |
| Reweighted | Bitget WOOUSDT WOO | Binance WOO/USDT spot | 71% | 66% | |
| Reweighted | Bitget WETUSDT WET | Gate WET/USDT spot | 25% | 33% | |
| Reweighted | Bitget WETUSDT WET | MEXC WET/USDT spot | 25% | 33% | |
| Reweighted | Bitget WETUSDT WET | OKX WET/USDT spot | 25% | 33% | |
| Reweighted | Bitget WCTUSDT WCT | Binance WCT/USDT spot | 68% | 76% | |
| Reweighted | Bitget UMAUSDT UMA | Binance UMA/USDT spot | 78% | 58% | |
| Reweighted | Bitget UMAUSDT UMA | MEXC UMA/USDT spot | 21% | 15% | |
| Reweighted | Bitget UBUSDT UB | Bitget futures UB/USDT perp | 78% | 84% | |
| Reweighted | Bitget TZAUSDT | intrinio TZA/USD unknown | 20% | 25% | |
| Reweighted | Bitget TZAUSDT | massive TZA/USD reference | 20% | 25% | |
| Reweighted | Bitget TZAUSDT | Pyth TZA/USD oracle | 20% | 25% | |
| Reweighted | Bitget TZAUSDT | tiger TZA/USD unknown | 20% | 25% | |
| Reweighted | Bitget TXNUSDT | massive TXN/USD reference | 20% | 28% | |
| Reweighted | Bitget TXNUSDT | Pyth TXN/USD oracle | 27% | 33% | |
| Reweighted | Bitget TXNUSDT | tiger TXN/USD unknown | 33% | 38% | |
| Reweighted | Bitget TURBOUSDT TURBO | Binance TURBO/USDT spot | 61% | 70% | |
| Reweighted | Bitget TTWOUSDT TTWO | massive TTWO/USD reference | 25% | 33% | |
| Reweighted | Bitget TTWOUSDT TTWO | pyth_pro TTWO/USD oracle | 25% | 33% | |
| Reweighted | Bitget TTWOUSDT TTWO | tiger TTWO/USD unknown | 25% | 33% | |
| Reweighted | Bitget TSMUSDT TSM | Binance index TSM/USDT index | 20% | 25% | |
| Reweighted | Bitget TSMUSDT TSM | Hyperliquid TSM/USD unknown | 20% | 25% | |
| Reweighted | Bitget TSMUSDT TSM | massive TSM/USD reference | 20% | 25% | |
| Reweighted | Bitget TSMUSDT TSM | pyth_pro TSM/USD oracle | 20% | 25% | |
| Reweighted | Bitget TSLLUSDT | massive TSLL/USD reference | 33% | 25% | |
| Reweighted | Bitget TSLLUSDT | Pyth TSLL/USD oracle | 33% | 25% | |
| Reweighted | Bitget TSLLUSDT | tiger TSLL/USD unknown | 33% | 25% | |
| Reweighted | Bitget TREEUSDT TREE | Binance TREE/USDT spot | 75% | 85% | |
| Reweighted | Bitget TOSHIUSDT TOSHI | Coinbase TOSHI/USD spot | 35% | 44% | |
| Reweighted | Bitget TMFUSDT | massive TMF/USD reference | 33% | 25% | |
| Reweighted | Bitget TMFUSDT | Pyth TMF/USD oracle | 33% | 25% | |
| Reweighted | Bitget TMFUSDT | tiger TMF/USD unknown | 33% | 25% | |
| Reweighted | Bitget THETAUSDT THETA | Binance THETA/USDT spot | 42% | 52% | |
| Reweighted | Bitget THETAUSDT THETA | KuCoin THETA/USDT spot | 19% | 24% | |
| Reweighted | Bitget TEMUSDT | intrinio TEM/USD unknown | 20% | 25% | |
| Reweighted | Bitget TEMUSDT | massive TEM/USD reference | 20% | 25% | |
| Reweighted | Bitget TEMUSDT | Pyth TEM/USD oracle | 20% | 25% |
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.