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 | OKX EWT-USDT-SWAP | okx_linear_perpetual EWT/USDT perp | 0% | 7.3% | |
| Reweighted | OKX EWT-USDT-SWAP | Pyth EWT/USD oracle | 21% | 16% | |
| Reweighted | OKX ESP-USDT-SWAP ESP | Binance ESP/USDT spot | 50% | 40% | |
| Reweighted | OKX ESP-USDT-SWAP ESP | Gate ESP/USDT spot | 25% | 20% | |
| Added | OKX ESP-USDT-SWAP ESP | KuCoin ESP/USDT spot | 0% | 20% | |
| Reweighted | OKX ESP-USDT-SWAP ESP | MEXC ESP/USDT unknown | 25% | 20% | |
| Added | OKX DELL-USDT-SWAP DELL | OKX XDELL/USDT spot | 0% | 4.5% | |
| Reweighted | OKX DDOG-USDT-SWAP | Binance index DDOG/USDT index | 75% | 50% | |
| Removed | OKX DDOG-USDT-SWAP | okx_linear_perpetual DDOG/USDT perp | 8.3% | 0% | |
| Reweighted | OKX DDOG-USDT-SWAP | Pyth DDOG/USD oracle | 16% | 50% | |
| Reweighted | OKX CSCO-USDT-SWAP | Binance index CSCO/USDT index | 54% | 49% | |
| Added | OKX CSCO-USDT-SWAP | OKX XCSCO/USDT spot | 0% | 1.8% | |
| Reweighted | OKX CSCO-USDT-SWAP | ondo_ticker CSCO/USD reference | 11% | 16% | |
| Added | OKX CRWV-USDT-SWAP CRWV | OKX XCRWV/USDT spot | 0% | 3.6% | |
| Removed | OKX CRM-USDT-SWAP | okx_linear_perpetual CRM/USDT perp | 1.6% | 0% | |
| Reweighted | OKX CP-USDT-SWAP CP | Coinbase CP/USD spot | 14% | 27% | |
| Reweighted | OKX CP-USDT-SWAP CP | OKX CP/USDT spot | 44% | 36% | |
| Reweighted | OKX COST-USDT-SWAP | Binance index COST/USDT index | 18% | 24% | |
| Reweighted | OKX COST-USDT-SWAP | hyperliquid_oracle COST/USD oracle | 36% | 42% | |
| Reweighted | OKX COST-USDT-SWAP | kaiko_reference_rate COST/USD reference | 15% | 6.2% | |
| Reweighted | OKX COST-USDT-SWAP | ondo_ticker COST/USD reference | 15% | 5.6% | |
| Reweighted | OKX COST-USDT-SWAP | Pyth COST/USD oracle | 15% | 20% | |
| Added | OKX COIN-USDT-SWAP COIN | OKX XCOIN/USDT spot | 0% | 1.2% | |
| Added | OKX CIEN-USDT-SWAP CIEN | okx_linear_perpetual CIEN/USDT perp | 0% | 4.6% | |
| Reweighted | OKX CGNX-USDT-SWAP | Bitget CGNX/USDT spot | 14% | 4.3% | |
| Reweighted | OKX CGNX-USDT-SWAP | Gate CGNX/USDT spot | 9.2% | 96% | |
| Removed | OKX CGNX-USDT-SWAP | kaiko_reference_rate CGNX/USD reference | 62% | 0% | |
| Removed | OKX CGNX-USDT-SWAP | okx_linear_perpetual CGNX/USDT perp | 17% | 0% | |
| Removed | OKX BX-USDT-SWAP BX | okx_linear_perpetual BX/USDT perp | 6% | 0% | |
| Reweighted | OKX BSP-USDT-SWAP | Binance index BSP/USDT index | 52% | 67% | |
| Reweighted | OKX BSP-USDT-SWAP | kaiko_reference_rate BSP/USD reference | 48% | 25% | |
| Reweighted | OKX BSP-USDT-SWAP | okx_linear_perpetual BSP/USDT perp | 0.5% | 7.9% | |
| Removed | OKX BRKB-USDT-SWAP | okx_linear_perpetual BRKB/USDT perp | 14% | 0% | |
| Reweighted | OKX BRKB-USDT-SWAP | Pyth BRKB/USD oracle | 35% | 50% | |
| Removed | OKX BOT-USDT-SWAP | OKX XBOT/USDT spot | 5.8% | 0% | |
| Removed | OKX BLUR-USDT-SWAP BLUR | KuCoin BLUR/USDT spot | 13% | 0% | |
| Reweighted | OKX BLEND-USDT-SWAP BLEND | Bitget BLEND/USDT spot | 20% | 50% | |
| Reweighted | OKX BLEND-USDT-SWAP BLEND | Bybit BLEND/USDT spot | 30% | 50% | |
| Removed | OKX BLEND-USDT-SWAP BLEND | Coinbase BLEND/USD spot | 30% | 0% | |
| Removed | OKX BLEND-USDT-SWAP BLEND | KuCoin BLEND/USDT spot | 20% | 0% | |
| Added | OKX BE-USDT-SWAP BE | OKX XBE/USDT spot | 0% | 4% | |
| Reweighted | OKX BB-USDT-SWAP BB | hyperliquid_oracle BB/USD oracle | 56% | 64% | |
| Reweighted | OKX BB-USDT-SWAP BB | Pyth BB/USD oracle | 22% | 5% | |
| Added | OKX ASTS-USDT-SWAP | OKX XASTS/USDT spot | 0% | 5.6% | |
| Added | OKX APP-USDT-SWAP | OKX XAPP/USDT spot | 0% | 0.3% | |
| Added | OKX APLD-USDT-SWAP | Bitget APLD/USDT spot | 0% | 2.9% | |
| Reweighted | OKX AMC-USDT-SWAP | Bitget AMC/USDT spot | 25% | 12% | |
| Reweighted | OKX AMC-USDT-SWAP | Bybit AMC/USDT spot | 25% | 12% | |
| Added | OKX AMC-USDT-SWAP | kaiko_reference_rate AMC/USD reference | 0% | 50% | |
| Reweighted | OKX AMC-USDT-SWAP | okx_linear_perpetual AMC/USDT perp | 50% | 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.