Perpetual swaps basis

This is a perpetual swaps basis that works for both BTC and ETH (check settings).

A perpetual swaps basis, or 'perps basis' for short, looks at the price of a perpetual swap contract and compares it to a spot index. The point of the indicator is to see whether the perps market or spot market is trading higher/lower.

Indicator values will be positive when perps are trading higher than spot.
Indicator values will be negative when perps are trading lower than spot.

Generally speaking a spot bid is considered bullish because it's a more accurate representation of real demand. When perps are trading higher it's usually because directional traders are aggressively going long which is dangerous/bearish because this is leveraged money that can easily get shaken out. It could also be that perps are trading higher because spot is selling off hard, but this is also bearish so the result the same.
Summary: most of the time a perps premium is bearish, and a spot premium is bullish.

I would never trade based on 'signals' of this indicator alone, but it does offer valuable confluence in your market analysis.

In the settings you can either select the individual basis for each perp contract of the three biggest derivatives venues (Binance, Bybit, OKX) or you can select my custom global basis.

For the individual basis I've recreated to the best of my ability the official spot indices that these exchanges use and compared those to the perp contracts.

For the custom global basis I've made my own weighted perps price index and spot price index and then compared these indices to each other to get a more global overview of how perps are trading versus spot.

The perps index includes the following contracts: Binance linear USDT, Binance inverse USD, Bybit linear USDT, Bybit inverse USD, OKX linear USDT, OKX inverse USD.
The spot index includes the following markets: Binance USDT, OKX USDT, Bybit USDT, Coinbase USD, Kraken USD, Bitfinex USD, Bitstamp USD.

Extra notes
I will update all of the indices when necessary.

Some of the basis' will look weird on certain timeframes if you go far back enough in the past. This is because the OKX USDT spot market data used to be bugged in a weird way on TradingView and this is an important market that I just had to include. So past data that includes this market will look very erratic. This is only a problem for past data, it currently works fine, so current data is correct.

Send me a private message for access to my invite only indicators.
Invite-only script

Access to this script is restricted to users authorized by the author and usually requires payment. You can add it to your favorites, but you will only be able to use it after requesting permission and obtaining it from its author. Contact ByzantiumScripts for more information, or follow the author's instructions below.

Please note that this is a private, invite-only script that was not analyzed by script moderators. Its compliance to House Rules is undetermined. TradingView does not suggest paying for a script and using it unless you 100% trust its author and understand how the script works. In many cases, you can find a good open-source alternative for free in our Community Scripts.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Author's instructions

For access send me an email: More info about my indicators you can find here:

Want to use this script on a chart?

Warning: please read before requesting access.