Chart

Futures and the .P Suffix: How AlertaChart Marks Perpetual Pairs

5 min read

Binance has both a spot market for BTC/USDT and a perpetual futures market for the same pair. They have different prices, different liquidity, and different orderflow. AlertaChart needs to distinguish them in the watchlist without making you toggle a global "spot vs futures" switch — the convention we use is the .P suffix on the quote asset.

What .P means

.P (perpetual) is appended to the quote asset for any row that points at Binance Futures:

- BTC USDT.P → BTC perp, listed on Binance Futures - ETH USDT.P → ETH perp - NAS100 (no .P needed) → global index perpetual

The watchlist stores rows with that exact tail, so spot and futures of the same coin can coexist as separate rows.

Why not a SPOT / FUTURES toggle?

That's how the old version worked, and it had two long-running problems. First, watchers wanted to track BTC.P liquidations alongside BTC spot price — that required flipping a global toggle every time, which lost zoom state and confused alert routing. Second, mixing equities into the same setup turned a binary toggle into a tri-state toggle, which made the UI feel like a tab manager, not a watchlist.

The .P suffix is per-row, so the UI never has to know what your "current mode" is. Click BTC USDT and the chart goes spot. Click BTC USDT.P right after and the chart goes futures. Click NVDA and the chart switches to the equity view. No mode to remember.

What changes between BTC USDT and BTC USDT.P

- Data feed: Binance Spot API vs Binance Futures API. Different prices, different fee tiers, different liquidity profiles. - Volume: spot volume is the share of supply that crossed; futures volume is contract count, often 5–20× larger than spot. - Funding rate: futures pairs have one; spot does not. The Funding orderflow pane only renders on .P rows. - Open Interest: same — OI is a futures-only metric, the pane is dark on spot rows. - Liquidations: same — the Liquidation Heatmap and the Bubbles overlay are futures-only. - Alarm routing: an alarm set on BTC USDT.P is stored on the BINANCE_FUTURES exchange. An alarm set on BTC USDT is stored on BINANCE. The bell icon on the watchlist row matches by both the symbol and the exchange, so a futures alarm only lights up the BTC USDT.P row, never the BTC USDT row beside it.

Setting up a paired view

A common workflow is to keep both BTC USDT and BTC USDT.P in the watchlist near the top, with the 4-pane chart layout splitting the screen into spot price / futures price / CVD / Liquidations. The unified watchlist makes this a one-click switch — start on BTC USDT for spot context, click BTC USDT.P when you want the futures-only orderflow stack.

Adding a futures row

From Symbol Search: pick the row tagged with a FUT chip in the results. The watchlist saves it as btcusdt.p and the chart routes immediately. If you already have BTC USDT in your list, BTC USDT.P joins as a separate row right next to it — no overwrite, no toggle.

From the URL bar: btcusdt.p is a valid symbol path. AlertaChart resolves it to Binance Futures and opens the chart accordingly. Useful for permalinks and shared links.

What about other exchanges' perpetuals?

Today the .P suffix means Binance Futures specifically. If we add support for other perpetual venues (Bybit, OKX, etc.) we'll keep the .P convention and prefix the venue when needed — but for now, .P on a watchlist row always points at Binance Futures.

Chart