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 20Exchange: All · Binance · OKX · Bybit · Bitget Change: All · Added · Removed · Reweighted
| Time (UTC) | Change | Index | Constituent | Weight before | Weight after |
|---|---|---|---|---|---|
| Added | Bitget WAXPUSDT WAXP | Bybit WAXP/USDT spot | 0% | 17% | |
| Added | Bitget VVVUSDT VVV | KuCoin VVV/USDT spot | 0% | 15% | |
| Added | Bitget VTHOUSDT VTHO | Bitget VTHO/USDT spot | 0% | 4% | |
| Added | Bitget VTHOUSDT VTHO | Bybit VTHO/USDT spot | 0% | 8.1% | |
| Added | Bitget VTHOUSDT VTHO | Gate VTHO/USDT spot | 0% | 2.8% | |
| Added | Bitget VIRTUALUSDT VIRTUAL | KuCoin VIRTUAL/USDT spot | 0% | 8.2% | |
| Added | Bitget VETUSDT VET | Gate VET/USDT spot | 0% | 2.9% | |
| Added | Bitget VANAUSDT VANA | Bitget VANA/USDT spot | 0% | 10% | |
| Added | Bitget USUALUSDT USUAL | Bitget USUAL/USDT spot | 0% | 1.5% | |
| Added | Bitget UMAUSDT UMA | Gate UMA/USDT spot | 0% | 0.5% | |
| Added | Bitget UBUSDT UB | binance_alpha ALPHA_370/USDT unknown | 0% | 0.6% | |
| Added | Bitget UBUSDT UB | Gate UB/USDT spot | 0% | 8.9% | |
| Added | Bitget TRUSTUSDT TRUST | KuCoin TRUST/USDT spot | 0% | 10% | |
| Added | Bitget TREEUSDT TREE | Bitget TREE/USDT spot | 0% | 7.3% | |
| Added | Bitget TOWNSUSDT TOWNS | Gate TOWNS/USDT spot | 0% | 1.6% | |
| Added | Bitget TOSHIUSDT TOSHI | KuCoin TOSHI/USDT spot | 0% | 5.5% | |
| Added | Bitget TNSRUSDT TNSR | KuCoin TNSR/USDT spot | 0% | 0.8% | |
| Added | Bitget TNSRUSDT TNSR | OKX TNSR/USDT spot | 0% | 17% | |
| Added | Bitget SYRUPUSDT SYRUP | Gate SYRUP/USDT spot | 0% | 4.4% | |
| Added | Bitget SXTUSDT SXT | Bitget SXT/USDT spot | 0% | 5.9% | |
| Added | Bitget SUSHIUSDT SUSHI | Bitget SUSHI/USDT spot | 0% | 1.8% | |
| Added | Bitget SUSHIUSDT SUSHI | Gate SUSHI/USDT spot | 0% | 2.5% | |
| Added | Bitget STABLEUSDT STABLE | Gate STABLE/USDT spot | 0% | 8.1% | |
| Added | Bitget STABLEUSDT STABLE | KuCoin STABLE/USDT spot | 0% | 7.5% | |
| Added | Bitget SSVUSDT SSV | Bybit SSV/USDT spot | 0% | 3.6% | |
| Added | Bitget SSVUSDT SSV | Gate SSV/USDT spot | 0% | 7.5% | |
| Added | Bitget SSVUSDT SSV | KuCoin SSV/USDT spot | 0% | 2.7% | |
| Added | Bitget SPKUSDT SPK | Gate SPK/USDT spot | 0% | 1.8% | |
| Added | Bitget SONICUSDT SONIC | Gate SONIC/USDT spot | 0% | 1.4% | |
| Added | Bitget SOMIUSDT SOMI | Bitget SOMI/USDT spot | 0% | 2.7% | |
| Added | Bitget SKLUSDT SKL | KuCoin SKL/USDT spot | 0% | 6.1% | |
| Added | Bitget SAPIENUSDT SAPIEN | KuCoin SAPIEN/USDT spot | 0% | 6.9% | |
| Added | Bitget SANTOSUSDT SANTOS | Bitget futures SANTOS/USDT perp | 0% | 2.1% | |
| Added | Bitget SAFEUSDT SAFE | Gate SAFE/USDT spot | 0% | 9.4% | |
| Added | Bitget RUNEUSDT RUNE | Gate RUNE/USDT spot | 0% | 0.8% | |
| Added | Bybit ZRXUSDT ZRX | Coinbase ZRX-USD spot | 0% | 30% | |
| Added | Bitget ROSEUSDT ROSE | KuCoin ROSE/USDT spot | 0% | 10% | |
| Added | Bybit ZORAUSDT ZORA | KuCoin ZORA-USDT spot | 0% | 1% | |
| Added | Bybit ZKPUSDT ZKP | Coinbase ZKP-USD spot | 0% | 4.7% | |
| Added | Bybit ZETAUSDT ZETA | Gate ZETA_USDT spot | 0% | 8.5% | |
| Added | Bybit ZETAUSDT ZETA | KuCoin ZETA-USDT spot | 0% | 1% | |
| Added | Bitget REDUSDT RED | Gate REDNEW/USDT spot | 0% | 2.3% | |
| Added | Bybit YBUSDT YB | Gate YB_USDT spot | 0% | 3.6% | |
| Added | Bitget RAVEUSDT RAVE | binance_alpha ALPHA_497/USDT unknown | 0% | 1.4% | |
| Added | Bybit XVSUSDT XVS | Gate XVS_USDT spot | 0% | 1.6% | |
| Added | Bybit XNYUSDT XNY | binancealpha XNY/USDT unknown | 0% | 3% | |
| Added | Bitget PUNDIXUSDT PUNDIX | Bitget futures PUNDIX/USDT perp | 0% | 21% | |
| Added | Bitget PROVEUSDT PROVE | Binance PROVE/TRY spot | 0% | 0.7% | |
| Added | Bybit XAIUSDT XAI | Gate XAI_USDT spot | 0% | 1.2% | |
| Added | Bybit WOOUSDT WOO | Gate WOO_USDT spot | 0% | 3.3% |
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.