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 · Bybit · last 30 days
newest first · times in UTC · page 6Exchange: All · Binance · OKX · Bybit · Bitget Change: All · Added · Removed · Reweighted
| Time (UTC) | Change | Index | Constituent | Weight before | Weight after |
|---|---|---|---|---|---|
| Reweighted | Bybit FLYUSDT | massive FLY reference | 40% | 80% | |
| Added | Bybit FLEXUSDT | massive FLEX reference | 0% | 36% | |
| Reweighted | Bybit FLEXUSDT | Pyth Equity.US.FLEX/USD oracle | 72% | 36% | |
| Removed | Bybit FIGHTUSDT FIGHT | binancealpha FIGHT/USDT unknown | 24% | 0% | |
| Added | Bybit FIGHTUSDT FIGHT | Coinbase FIGHT-USD spot | 0% | 27% | |
| Added | Bybit EWTUSDT | Bybit futures EWTUSDT perp | 0% | 10% | |
| Reweighted | Bybit EWJUSDT | kaiko KK_RFR_EWJUSD reference | 22% | 34% | |
| Removed | Bybit EWJUSDT | massive EWJ reference | 22% | 0% | |
| Reweighted | Bybit EWJUSDT | Pyth Equity.US.EWJ/USD oracle | 22% | 34% | |
| Reweighted | Bybit EURUSDUSDT | hyperliquid_oracle EURUSD/USD oracle | 10% | 90% | |
| Removed | Bybit EURUSDUSDT | kaiko KK_RFR_EURUSD reference | 40% | 0% | |
| Removed | Bybit EURUSDUSDT | Pyth FX.EUR/USD oracle | 40% | 0% | |
| Removed | Bybit ETCUSDT ETC | Kraken ETC/USD spot | 1.6% | 0% | |
| Added | Bybit ETCUSDT ETC | MEXC ETCUSDT spot | 0% | 1.6% | |
| Added | Bybit ESPUSDT ESP | Gate ESP_USDT spot | 0% | 3% | |
| Added | Bybit ESPUSDT ESP | Kraken ESP/USD spot | 0% | 0.5% | |
| Removed | Bybit ESPUSDT ESP | KuCoin ESP-USDT spot | 0.5% | 0% | |
| Added | Bybit EPICUSDT EPIC | Gate EPIC_USDT spot | 0% | 4.4% | |
| Added | Bybit ENSOUSDT ENSO | Gate ENSO_USDT spot | 0% | 3.8% | |
| Removed | Bybit DYMUSDT DYM | Gate DYM_USDT spot | 1.5% | 0% | |
| Removed | Bybit DUSKUSDT DUSK | Gate DUSK_USDT spot | 3.1% | 0% | |
| Removed | Bybit DUSKUSDT DUSK | KuCoin DUSK-USDT spot | 2.1% | 0% | |
| Reweighted | Bybit DOSUSDT DOS | binancealpha DOS/USDT unknown | 21% | 27% | |
| Removed | Bybit DIAUSDT DIA | crypto DIA_USD unknown | 1.5% | 0% | |
| Removed | Bybit DIAUSDT DIA | Gate DIA_USDT spot | 1.1% | 0% | |
| Removed | Bybit DIAUSDT DIA | KuCoin DIA-USDT spot | 1.2% | 0% | |
| Reweighted | Bybit DDOGUSDT | kaiko KK_RFR_DDOGUSD reference | 36% | 45% | |
| Removed | Bybit DDOGUSDT | massive DDOG reference | 18% | 0% | |
| Reweighted | Bybit DDOGUSDT | Pyth Equity.US.DDOG/USD oracle | 36% | 45% | |
| Reweighted | Bybit DBRUSDT | Bybit DBRUSDT spot | 54% | 66% | |
| Removed | Bybit DBRUSDT | Gate DBR_USDT spot | 19% | 0% | |
| Reweighted | Bybit DBRUSDT | MEXC DBRUSDT spot | 27% | 34% | |
| Removed | Bybit CVXSTOCKUSDT | Bybit futures CVXSTOCKUSDT perp | 10% | 0% | |
| Added | Bybit CVNAUSDT | massive CVNA reference | 0% | 40% | |
| Reweighted | Bybit CVNAUSDT | Pyth Equity.US.CVNA/USD oracle | 80% | 40% | |
| Removed | Bybit CVCUSDT CVC | Coinbase CVC-USD spot | 4% | 0% | |
| Added | Bybit CVCUSDT CVC | Gate CVC_USDT spot | 0% | 1% | |
| Reweighted | Bybit CTRUSDT CTR | Coinbase CTR-USD spot | 39% | 53% | |
| Removed | Bybit CTRUSDT CTR | Gate CTR_USDT spot | 24% | 0% | |
| Reweighted | Bybit CTRUSDT CTR | MEXC CTRUSDT spot | 34% | 43% | |
| Removed | Bybit CRMUSDT | Bybit futures CRMUSDT perp | 10% | 0% | |
| Reweighted | Bybit CRMUSDT | Pyth Equity.US.CRM/USD oracle | 50% | 56% | |
| Added | Bybit COMPUSDT COMP | KuCoin COMP-USDT spot | 0% | 0.9% | |
| Reweighted | Bybit CLUSDT CL | Binance futures clusdt perp | 8.7% | 18% | |
| Reweighted | Bybit CLUSDT CL | Binance index clusdt index | 20% | 37% | |
| Reweighted | Bybit CLUSDT CL | Bybit futures CLUSDT perp | 1.3% | 8.6% | |
| Reweighted | Bybit CLUSDT CL | hyperliquid_oracle CL/USD oracle | 20% | 37% | |
| Removed | Bybit CLUSDT CL | Pyth Commodities.CLLX6/USD oracle | 50% | 0% | |
| Reweighted | Bybit CHRUSDT CHR | Binance CHRUSDT spot | 90% | 82% | |
| Added | Bybit CHRUSDT CHR | Bithumb CHR_KRW spot | 0% | 9.5% |
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.