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 18Exchange: All · Binance · OKX · Bybit · Bitget Change: All · Added · Removed · Reweighted
| Time (UTC) | Change | Index | Constituent | Weight before | Weight after |
|---|---|---|---|---|---|
| Removed | Bitget GPSUSDT GPS | Bitget GPS/USDT spot | 1.5% | 0% | |
| Removed | Bybit LTCUSDT LTC | OKX LTC-USDT spot | 9.5% | 0% | |
| Removed | Bybit LENOVOUSDT | kaiko KK_RFR_992HKD reference | 45% | 0% | |
| Removed | Bybit LENOVOUSDT | Pyth Equity.HK.0992/HKD oracle | 45% | 0% | |
| Removed | Bybit LAOPUUSDT | kaiko KK_RFR_6181HKD reference | 50% | 0% | |
| Removed | Bybit LAOPUUSDT | Pyth Equity.HK.6181/HKD oracle | 50% | 0% | |
| Removed | Bybit KUAISHOUUSDT | Pyth Equity.HK.1024/HKD oracle | 60% | 0% | |
| Removed | Bybit KODEX200USDT | Bybit futures KODEX200USDT perp | 10% | 0% | |
| Removed | Bybit KGENUSDT KGEN | KuCoin KGEN-USDT spot | 4.7% | 0% | |
| Removed | Bitget FORMUSDT FORM | Bitget FORM/USDT spot | 2.9% | 0% | |
| Removed | Bybit INITUSDT INIT | Gate INIT_USDT spot | 2.5% | 0% | |
| Removed | Bybit INITUSDT INIT | Kraken INIT/USD spot | 1.6% | 0% | |
| Removed | Bybit ILVUSDT ILV | Gate ILV_USDT spot | 1.3% | 0% | |
| Removed | Bybit IDUSDT ID | KuCoin ID-USDT spot | 0.3% | 0% | |
| Removed | Bybit ICNTUSDT ICNT | KuCoin ICNT-USDT spot | 1.5% | 0% | |
| Removed | Bybit HUAHONGUSDT | kaiko KK_RFR_1347HKD reference | 45% | 0% | |
| Removed | Bybit HUAHONGUSDT | Pyth Equity.HK.1347/HKD oracle | 45% | 0% | |
| Removed | Bitget ENSUSDT ENS | Gate ENS/USDT spot | 1.7% | 0% | |
| Removed | Bybit HORIZONUSDT | kaiko KK_RFR_9660HKD reference | 50% | 0% | |
| Removed | Bybit HORIZONUSDT | Pyth Equity.HK.9660/HKD oracle | 50% | 0% | |
| Removed | Bitget DYDXUSDT DYDX | Bitget DYDX/USDT spot | 1.2% | 0% | |
| Removed | Bybit GRIFFAINUSDT GRIFFAIN | KuCoin GRIFFAIN-USDT spot | 2% | 0% | |
| Removed | Bybit GIGADEVICEUSDT | Pyth Equity.HK.3986/HKD oracle | 60% | 0% | |
| Removed | Bitget COWUSDT COW | KuCoin COW/USDT spot | 5.5% | 0% | |
| Removed | Bitget COOKIEUSDT COOKIE | Bitget COOKIE/USDT spot | 2.9% | 0% | |
| Removed | Bitget COMPUSDT COMP | Bitget COMP/USDT spot | 1.2% | 0% | |
| Removed | Bybit DOLOUSDT | Coinbase DOLO-USD spot | 1.1% | 0% | |
| Removed | Bitget CHZUSDT CHZ | Bitget CHZ/USDT spot | 0.9% | 0% | |
| Removed | Bitget CETUSUSDT CETUS | Gate CETUS/USDT spot | 4% | 0% | |
| Removed | Bitget CELRUSDT CELR | KuCoin CELR/USDT spot | 7.2% | 0% | |
| Removed | Bybit CSOPSKHYNIX2LUSDT | kaiko KK_RFR_7709HKD reference | 40% | 0% | |
| Removed | Bybit CSOPSKHYNIX2LUSDT | Pyth Equity.HK.7709/HKD oracle | 40% | 0% | |
| Removed | Bybit CSOPSAMSUNG2LUSDT | kaiko KK_RFR_7747HKD reference | 40% | 0% | |
| Removed | Bybit CSOPSAMSUNG2LUSDT | Pyth Equity.HK.7747/HKD oracle | 40% | 0% | |
| Removed | Bybit COWUSDT COW | KuCoin COW-USDT spot | 2.4% | 0% | |
| Removed | Bybit CLANKERUSDT CLANKER | Coinbase CLANKER-USD spot | 51% | 0% | |
| Removed | Bybit CLANKERUSDT CLANKER | Gate CLANKER_USDT spot | 3.1% | 0% | |
| Removed | Bybit CLANKERUSDT CLANKER | KuCoin CLANKER-USDT spot | 1.7% | 0% | |
| Removed | Bitget BIRBUSDT BIRB | KuCoin BIRB/USDT spot | 13% | 0% | |
| Removed | Bybit BYDUSDT | kaiko KK_RFR_1211HKD reference | 35% | 0% | |
| Removed | Bybit BYDUSDT | Pyth Equity.HK.1211/HKD oracle | 35% | 0% | |
| Removed | Bitget BICOUSDT BICO | Bitget BICO/USDT spot | 0.5% | 0% | |
| Removed | Bitget BANANAUSDT BANANA | OKX BANANA/USDT spot | 2.2% | 0% | |
| Removed | Bitget AUSDT A | Bitget A/USDT spot | 1.4% | 0% | |
| Removed | Bybit BANANAUSDT BANANA | KuCoin BANANA-USDT spot | 1.9% | 0% | |
| Removed | Bybit B3USDT B3 | KuCoin B3-USDT spot | 0.1% | 0% | |
| Removed | Bybit AZTECUSDT AZTEC | KuCoin AZTEC-USDT spot | 1.8% | 0% | |
| Removed | Bitget ARUSDT AR | Gate AR/USDT spot | 2.8% | 0% | |
| Removed | Bitget ARPAUSDT ARPA | KuCoin ARPA/USDT spot | 1.3% | 0% | |
| Removed | Bybit ASMLUSDT ASML | Bybit futures ASMLUSDT perp | 10% | 0% |
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.