Home / Blog / Bitbase

How mark price actually works on Bitbase when BTC drops 4.82% in a day

30 one-second samples, a 15-second half-life, and why it can trail the last trade

By Updated

Key takeaway

"The chart printed below my liquidation price and nothing happened." "Price bounced and I still got closed." Fast days produce both complaints, and Thursday, Nov 5, 2026 was a fast day. Beginner tier. Bitbase BTC_USDT figures below were pulled from Bitbase's public futures market data at 3:56 PM ET.

bitbase logo, for the post: How mark price actually works on Bitbase when BTC drops 4.82% in a day: 30 one-second samples, a 15-second half-life, and why it can trail the last trade
bitbase logo.

The mark price rules come from Bitbase's own explanation of its futures mark price.

Step 1: read the board

  • BTC_USDT 24h open 80,026.2, high 80,927.5, low 75,525.1. Last 76,164.0 at 3:56 PM ET, down 4.82% on the 24h.
  • At that same second: mark 76,157.3, index 76,153.94. The mark sat 6.7 under the last trade and 3.36 above the index.
  • Funding 0.02% per 8h (0.0002), next collection 7:00 PM ET. A positive rate means longs pay.
  • Market-wide, about 1.09 billion USD of positions were liquidated over 24 hours, hitting about 211,000 traders, after a sell-off in US tech and AI stocks. ETH, SOL, XRP and HYPE fell 6%-7%.

Step 2: see which price matters

Your unrealized PnL and your liquidation risk on Bitbase are assessed on the mark price, not on the last trade. That is why a wick on last does not, by itself, close a position, and why a bounce on last does not, by itself, save one.

Step 3: the rule

The mark price does not rely on a single trade. It is built from the index price plus a smoothed basis taken from the futures order book. During rapid market moves it may temporarily lag behind the last price. That lag is by design: it keeps short-lived spikes and abnormal trades from setting your PnL and liquidation checks.

Step 4: the formula

basis = (best_bid + best_ask) / 2 - index (sampled every second) moving_average_basis = weighted average of the latest 30 one-second samples, newer samples weighted more mark = index + moving_average_basis (recalculated every second)

Half-life sets how fast old samples fade. Major pairs use 15 seconds; other and long-tail pairs use 30 seconds. Every pair uses the same 30-second window.

Step 5: apply it to Thursday

  1. A one-tick print on last under your liquidation line only matters if the book's midpoint stays there long enough to drag the 30-second average.
  2. With a 15-second half-life on BTC, a sample from 15 seconds ago carries half the weight of the newest one, so a sustained move shows up in the mark within seconds.
  3. The reverse is also true. A bounce on last that lasts a few seconds lifts the mark only partly.
  4. At 3:56 PM ET the mark was 3.36 above the index, so over the previous 30 seconds the book traded at a small premium to spot.
  5. The lag is not a bug. It is the cost of smoothing. The same 30-second average that ignores a one-second spike also takes a few seconds to catch up with a real move, so in a cascade the mark can trail last on the way down and on the way back up.

Common mistakes

  • Setting alerts on last when liquidation runs on mark.
  • Expecting the mark to match the chart's lowest wick.
  • Assuming the mark and index are the same number. They differ by the smoothed basis.
  • Ignoring the next collection when holding a long at 0.02% per 8h.

FAQ

How often does the mark update? Every second.

Does a 15-second half-life mean only 15 seconds of data? No. Every pair uses the latest 30 seconds. Half-life only controls how fast the older samples lose weight inside that window.

Can the mark sit below the index? Yes. When the futures book trades at a sustained discount, the smoothed basis turns negative and the mark falls below the index.

Try it on your own position: on the next fast candle, write down last, mark and index at the same moment and see which one moves first, and which one your liquidation line is actually measured against.

Open an account