How to Use Whale Hunter

Read open interest spikes, avoid the most common misread, and see how the official strategy trades it in reverse.

Last updated 2026-09
Key Takeaways
  • Whale Hunter (WH) is a z-score of the net open interest (OI) change or volume on Binance USDT-margined perpetuals, measured against each coin's past 30 days. The data is market-wide, so it cannot tell whales from retail.
  • High WH does not mean whales are going long: the value only says how unusual the OI or volume move is. It carries no direction.
  • The official BTC Whale Hunter Contrarian strategy trades it in reverse: long when 24h score_oi drops below −0.7, flat above 0.2. Blave strategy library backtest, 2023-01-01 to 2026-07-13: 268.17% total return, Sharpe 1.46, max drawdown −22.5%.
  • Thresholds don't transfer: over the past two years, extremes on the default 24h window were about ±10, and shorter windows have fatter tails, so rescan whenever you change the timeframe or the coin.

A big block lights up on the overview heatmap. Are whales piling into longs? Whale Hunter tells you how unusual the open interest and volume move is. Direction is a separate question, and it is where most people misread the indicator.

What is Whale Hunter?

Whale Hunter (WH) is Blave's position-change indicator. It sums the 5-minute open interest (OI) change and volume of Binance USDT-margined perpetuals over the window you pick (the timeframe), then converts the sum into a z-score against that coin's past 30 days. It comes in two scores:

ScoreWhat it sumsHow to read it
score_oiNet OI change within the window (in coins)Positive = the OI change beat the 30-day average, usually a net increase. Negative = below average, usually a net decrease.
score_volumeTotal volume within the window (in coins): a volume level, not a change in volumePositive = busier than the past 30 days. Negative = quieter than the past 30 days, not volume falling.

Because it is a z-score, the value has no fixed bounds and every coin sits on the same scale. But "high" is always relative to the coin's own past 30 days: a coin whose OI grows steadily for months gets absorbed into its own average. Studio's status badges use these thresholds (score_oi shown):

ValueStudio badgeMeaning
≥ +3Overly IncreasedNet OI increase far above the 30-day norm, an extreme reading
+2 ~ +3Substantially IncreasedNet OI increase clearly above the norm
+0.5 ~ +2IncreasedNet OI increase above the norm
−0.5 ~ +0.5No labelIn line with the 30-day norm
≤ −0.5Decreased / Substantially / Overly DecreasedMirror of the positive side at −0.5, −2 and −3: OI is being closed out faster than normal

The critical nuance: high WH ≠ whales going long

The sign of Whale Hunter only tells you how unusual the OI or volume move is. It has no direction. Rising OI means new positions were opened, but those can be longs or shorts. To judge direction, go back to price, or pair WH with a directional indicator such as Holder Concentration.

The "whale" in the name is a metaphor. The data is a market-wide total for Binance perpetuals: no individual accounts, no way to tell a few large traders from a crowd of small ones, and nothing from other exchanges.

The backtested use is the contrarian one. The official BTC Whale Hunter Contrarian strategy goes long when BTC's 24h score_oi drops below −0.7 (OI flushed out unusually hard) and goes flat once it recovers above 0.2. Long only. Backtest shown in the Blave strategy library (2023-01-01 to 2026-07-13, 0.05% fee per side): 268.17% total return, Sharpe 1.46, max drawdown −22.5%, MCPT significance test p = 0.005. Chasing big blocks, by contrast, has no verified strategy behind it today.

How do you build strategies with Whale Hunter?

Of the three uses below, only the first maps to a listed official strategy that passed the library checks. The other two are sketches of how to combine signals: not backtested, so verify every threshold yourself.

1. Contrarian threshold: enter when OI is flushed out

The logic is simple. When the 24h net OI decrease becomes unusual (score_oi < −0.7), a large share of positions was closed in that window. The strategy goes long, then exits to flat once the score recovers above 0.2. This is the signal function of the official btc_whale_1h strategy:

ENTRY_TH = -0.7
EXIT_TH  = 0.2

def compute_signals(df, entry_th=ENTRY_TH, exit_th=EXIT_TH):
    # df['WH'] = BTCUSDT 24h score_oi, read on every 1h bar
    signal = pd.Series(np.nan, index=df.index)
    signal[df['WH'] < entry_th] = 1.0   # OI flushed out -> go long
    signal[df['WH'] > exit_th]  = 0.0   # score recovers -> go flat
    return signal

ENTRY_TH = -0.7 and EXIT_TH = 0.2 come from a parameter scan plateau, not a guess: entry thresholds from −1.3 to −0.6 and exit thresholds from 0.0 to 0.3 all sit in the robust zone, and the plateau Sharpe is 0.884 of the chosen point's Sharpe.

2. Dual condition: OI and volume spike together

Blave's own site alerts use this condition: when the 1h score_oi and score_volume are both above 2, the alert reads "open interest and trading volume surged". Use it as a screen for coins where something is happening:

oi  = fetch_whale_hunter(SYMBOL, INTERVAL, START, END, hdrs,
                         timeframe='1h', score_type='score_oi')
vol = fetch_whale_hunter(SYMBOL, INTERVAL, START, END, hdrs,
                         timeframe='1h', score_type='score_volume')
# both scores > 2: same condition as the site alert
active = (oi['alpha'] > 2) & (vol['alpha'] > 2)

This is a screen, not an entry signal: it gives no direction and has no backtest. To trade it, add at least one directional check and run your own backtest.

3. Filter: WH flags the move, a directional indicator decides

Since WH carries no direction, a natural pairing is to let it answer "is something unusual happening?" and hand the entry decision to a directional indicator, such as Holder Concentration. The structure below is a sketch; replace compute_direction_filter with your own condition:

wh_active = df['WH'] > 2
direction_ok = compute_direction_filter(df)   # e.g. a Holder Concentration condition
signal = pd.Series(np.nan, index=df.index)
signal[wh_active & direction_ok] = 1.0
signal[~wh_active] = 0.0

This combination is not backtested, and the threshold of 2 is simply borrowed from the site alert. Scan the parameters and check performance after fees before you use it.

How do you choose the timeframe and score?

WH has two settings that are easy to mix up. The timeframe is the window over which OI change or volume is summed: 15min, 1h, 4h, 8h, 24h or 3d, defaulting to 24h and score_oi. The bar interval (5min to 1d on Studio charts, the interval in a strategy) only sets how often you read the value. The official strategy reads the 24h-window score on 1h bars.

TimeframeWhat one value coversNotes
15min / 1hOI change or volume over the last 15 minutes or 1 hourShort window: don't reuse 24h thresholds, scan separately
4h / 8hChange over the last 4 or 8 hoursBetween the short windows and the daily view; scan your own thresholds
24hChange over the last 24 hoursDefault; the window used by the BTC Whale Hunter Contrarian strategy
3dChange over the last 3 daysLongest window: one large position build stays in the value for 3 days

Blave measured BTC, ETH and 1000PEPE from 2024-09 to 2026-09: on the default 24h window, the OI score's 1st and 99th percentiles sit near −2.6 and +3, with extremes around ±10. Shorter windows have fatter tails: on 1h, extremes already exceed ±20. The volume score skews right (negative readings rarely go below −2), so don't borrow the OI score's symmetric thresholds. Thresholds don't carry across setups: rescan when you change the timeframe or the coin. Don't reuse −0.7 elsewhere as is.

Where do you read it in Studio?

PageWhat it shows
OverviewBlock heatmap: switch the timeframe and OI change or volume change. Shows the top 30 coins with a value above 0, block area proportional to the value, largest first; colour is the price change over the same window.
HistoryWH bars for one coin over price, with timeframe, score type and chart interval selectors, plus the stat field.
Scatter (Pro)Latest snapshot of every coin: x-axis is the OI score, y-axis the volume score, with zero lines only and no quadrant labels. The lower half means volume is quieter than its past 30 days, not falling.

Which indicators pair well with it?

These are ideas for combining signals, not verified results:

PairingPurpose
WH + Holder ConcentrationWH finds coins with unusual position changes; Holder Concentration helps judge whether those positions lean long or short.
WH + Taker IntensityWhen OI drops sharply, check Taker Intensity for aggressive buying or selling in the same window to help tell whether liquidations were involved.

What should you know when pulling it via API or Blave Agent?

The API endpoint is GET /whale_hunter/get_alpha with symbol, period, timeframe (default 24h), score_type (score_oi or score_volume) and start/end dates; in Blave Agent the helper is fetch_whale_hunter. Only closed bars are returned. Without a start date you get the last 365 days, and ranges longer than 365 days are truncated. History starts on 2021-12-01 (or the coin's listing). The response also carries one stat object describing the latest reading, and its field names don't quite match what they compute:

FieldWhat it actually computes
up_probA logistic regression trained on the past 365 days uses WH to predict whether price is up or down 24h later, and returns the probability of up. The training data includes the current period, so it is an in-sample estimate, not an out-of-sample win rate.
avg_up_return /
avg_down_return
Average 24h return across all up / down outcomes in the past 365 days, regardless of the WH level.
exp_valueup_prob × avg_up_return + (1 − up_prob) × avg_down_return, as a decimal, not a percentage.
is_data_sufficientWhether the coin's data starts more than 365 days ago, not whether this reading level has enough samples.
Remember: Whale Hunter is reference data, not a buy/sell signal. It only covers Binance, "high" and "low" are relative to the past 30 days, it carries no direction, and stat is an in-sample estimate. Verify any threshold with your own backtest.