Swolecharts
Live crypto data · 10 exchanges

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.

Last 30 daysSource: exchange public APIsHourly snapshots, UTCAs of 12:03 UTC

Constituent changes as published by each exchange, detected by hourly snapshot. A removal is not a delisting. RSS feed.

Binance
569 / 571
perps, last snapshot complete2026-10-02 11:22Z
Bitget
813 / 813
perps, last snapshot complete2026-10-02 11:39Z
Bybit
783 / 783
perps, last snapshot complete2026-10-02 11:37Z
OKX
500 / 500
perps, last snapshot complete2026-10-02 11:27Z

Constituent changes · last 30 days

newest first · times in UTC · page 19

Exchange: All · Binance · OKX · Bybit · Bitget   Change: All · Added · Removed · Reweighted

Time (UTC) Change Index Constituent Weight before Weight after
Reweighted Bitget AEONUSDT AEON KuCoin AEON/USDT spot 20% 27%
Reweighted Bitget AEONUSDT AEON OKX AEON/USDT spot 30% 37%
Reweighted Bybit ADIUSDT Pyth Equity.US.ADI/USD oracle 45% 90%
Reweighted Bybit AALUSDT massive AAL reference 45% 50%
Reweighted Bybit AALUSDT Pyth Equity.US.AAL/USD oracle 45% 50%
Reweighted Bitget AAOIUSDT AAOI intrinio AAOI/USD unknown 25% 20%
Reweighted Bitget AAOIUSDT AAOI massive AAOI/USD reference 15% 10%
Reweighted Bitget AAOIUSDT AAOI pyth_pro AAOI/USD oracle 35% 30%
Reweighted Bitget AAOIUSDT AAOI tiger AAOI/USD unknown 25% 20%
Reweighted Bybit 1000RATSUSDT RATS Bybit RATSUSDT spot 32% 25%
Reweighted Bybit 1000RATSUSDT RATS Gate RATS_USDT spot 68% 56%
Reweighted Bitget 1000RATSUSDT RATS Bitget 1000RATS/USDT spot 28% 22%
Reweighted Bitget 1000RATSUSDT RATS Bybit 1000RATS/USDT spot 21% 15%
Reweighted Bitget 1000RATSUSDT RATS Gate 1000RATS/USDT spot 51% 37%
Reweighted Bitget 10000NEXUSDT NEX Bitget 10000NEX/USDT spot 18% 23%
Reweighted Bitget 10000NEXUSDT NEX KuCoin 10000NEX/USDT spot 18% 24%
Reweighted Bitget 10000NEXUSDT NEX MEXC 10000NEX/USDT spot 52% 44%
Reweighted OKX ZM-USDT-SWAP Binance index ZM/USDT index 47% 24%
Reweighted OKX ZM-USDT-SWAP kaiko_reference_rate ZM/USD reference 5.6% 27%
Reweighted OKX ZM-USDT-SWAP Pyth ZM/USD oracle 47% 27%
Reweighted OKX XOM-USDT-SWAP kaiko_reference_rate XOM/USD reference 22% 3%
Reweighted OKX XOM-USDT-SWAP okx_linear_perpetual XOM/USDT perp 2.7% 21%
Reweighted OKX XOM-USDT-SWAP ondo_ticker XOM/USD reference 21% 2.9%
Reweighted OKX XOM-USDT-SWAP Pyth XOM/USD oracle 27% 44%
Reweighted OKX XIAOMI-USDT-SWAP Binance index HK1810/USDT index 57% 70%
Reweighted OKX XIAOMI-USDT-SWAP OKX XXIAOMI/USDT spot 2.3% 13%
Reweighted OKX XIAOMI-USDT-SWAP okx_linear_perpetual XIAOMI/USDT perp 43% 18%
Reweighted OKX XBI-USDT-SWAP Binance index XBI/USDT index 50% 38%
Reweighted OKX XBI-USDT-SWAP Pyth XBI/USD oracle 50% 42%
Reweighted OKX WMT-USDT-SWAP Binance index WMT/USDT index 60% 71%
Reweighted OKX WMT-USDT-SWAP okx_linear_perpetual WMT/USDT perp 6.2% 0.5%
Reweighted OKX WEN-USDT-SWAP Binance index WEN/USDT index 50% 55%
Reweighted OKX WEN-USDT-SWAP Pyth WEN/USD oracle 50% 31%
Reweighted OKX VRT-USDT-SWAP massive VRT/USD reference 16% 3.2%
Reweighted OKX URNM-USDT-SWAP massive URNM/USD reference 11% 5.6%
Reweighted OKX URNM-USDT-SWAP ondo_ticker URNM/USD reference 5.7% 12%
Reweighted OKX UNITREE-USDT-SWAP UNITREE Binance index UNITREE/USDT index 35% 46%
Reweighted OKX UNITREE-USDT-SWAP UNITREE hyperliquid_oracle UNITREE/USD oracle 56% 24%
Reweighted OKX UNITREE-USDT-SWAP UNITREE okx_linear_perpetual UNITREE/USDT perp 6.4% 29%
Reweighted OKX UNH-USDT-SWAP Bitget UNH/USDT spot 3.2% 17%
Reweighted OKX UNH-USDT-SWAP Bybit UNH/USDT spot 2.3% 20%
Reweighted OKX UNH-USDT-SWAP Gate UNH/USDT spot 2.3% 19%
Reweighted OKX UNH-USDT-SWAP okx_linear_perpetual UNH/USDT perp 3.7% 39%
Reweighted OKX UNH-USDT-SWAP ondo_ticker UNH/USD reference 46% 2.2%
Reweighted OKX TTWO-USDT-SWAP TTWO kaiko_reference_rate TTWO/USD reference 23% 18%
Reweighted OKX TTMI-USDT-SWAP Pyth TTMI/USD oracle 66% 33%
Reweighted OKX TSLL-USDT-SWAP Bitget TSLL/USDT spot 2.8% 8%
Reweighted OKX TSLL-USDT-SWAP massive TSLL/USD reference 2.8% 38%
Reweighted OKX TSLL-USDT-SWAP okx_linear_perpetual TSLL/USDT perp 47% 19%
Reweighted OKX TSLL-USDT-SWAP Pyth TSLL/USD oracle 52% 38%

·

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.