1. OKX's four long/short feeds
OKX publishes four flavours of the positioning data. The flavour matters because each is computed against a different denominator.
Long/short account ratio (global). Across all OKX accounts holding a position in the pair, how many are net long vs net short. Counts heads, not dollars.
Long/short position ratio (global). Across all open positions in the pair, the long notional divided by the short notional. Counts dollars.
Top Trader account ratio. Same as global account ratio, but only across accounts in the top tier by net PnL or position size (OKX defines the tier internally).
Top Trader position ratio. Same as global position ratio, restricted to that top-tier subset.
The full schema is in OKX's API documentation under the Rubik (data) namespace.
2. Account ratio vs position ratio — heads vs dollars
Account ratios show you "how the crowd is positioned" in a one-account-one-vote sense. Position ratios show you "where the money is" in a notional-weighted sense.
They diverge in characteristic ways. Lots of small retail longs and a few large whale shorts will pull the account ratio above 1 (most accounts long) while pulling the position ratio below 1 (most dollars short). That kind of split is itself a signal — it usually means retail is buying the dip while bigger players are leaning into the move.
3. Global vs Top Trader — retail vs whales
Global numbers include everyone with a position. Most of those accounts are small. The mix is therefore dominated by retail sentiment.
Top Trader feeds are filtered to accounts that meet OKX's internal cutoff for size or performance. The result is a positioning view weighted toward traders who likely have more information and more capital. Empirically, the Top Trader LSR has historically lined up with the direction of the next 1-3 day move more often than the global LSR.
For the contrarian frame, Investopedia's contrarian investing entry is the classical reference. The key idea: when everyone (retail) is on one side, the marginal incremental buyer/seller is small and the room left to move is asymmetric.
4. Reading the LSR — healthy vs extreme bands
The number to focus on is the position ratio (dollars). Empirical bands for BTC and ETH look like this.
Healthy / neutral: 0.7-1.5. Most days sit here. Nothing actionable.
Tilted bullish: 1.5-2.5. Longs are leaning. Still trade-able but the funding rate is probably positive.
Extreme bullish: above 2.5. Risk of a contrarian reversal increases. Set tight stops on new long entries.
Tilted bearish: 0.4-0.7. Shorts leaning. Funding probably negative.
Extreme bearish: below 0.4. Squeeze-prone setup. Risk of a short-cover rally.
On 2024-08-02 our editor desk noticed OKX Top Trader BTC position-ratio had dropped to 0.71 (shorts 41% above longs), while the whole-platform account ratio was still 1.18 (retail tilted long). That "whales short, retail long" gap is historically a fairly strong reduce-exposure signal. We were holding 3 BTC perp longs at the time (combined notional $4,200, principal 1,400 USDT, avg entry $61,300, 4x leverage). We decided to cut by half based on the LSR — closed 0.06 BTC, kept 0.06.
Execution: 2024-08-02 16:15 UTC+8, closed 0.06 BTC at $61,180, realising a small -$7 loss. Three days later BTC printed $48,830 on the flash crash. Had we not trimmed, the full 0.12 BTC would have hit the 4x cross-margin liq price near $49,800 at $51,000 entry-cluster level — about a 1,360 USDT loss. The trimmed half cost us roughly 680 USDT instead. That single LSR-driven cut avoided about 680 USDT of damage. Don't read it as "always works": over the past year we trimmed five times on Top Trader LSR < 0.8 — three followed by drops (signal correct), two by continued rallies (we missed upside). Hit rate roughly 60%, not 100%.
5. Hands-on: pulling LSR from the OKX API
The endpoints are public, no auth. Example: GET https://www.okx.com/api/v5/rubik/stat/contracts/long-short-account-ratio?ccy=BTC&period=5m. Returns a JSON array of timestamped ratios at the requested granularity (5m / 1h / 1d).
For Top Trader equivalents, swap the endpoint to /api/v5/rubik/stat/contracts/long-short-account-ratio-contract-top-trader (account) or /api/v5/rubik/stat/contracts/long-short-position-ratio-contract-top-trader (position).
If you don't want to hit the API yourself, CoinGlass's long/short page aggregates Binance, OKX and Bybit numbers side by side.
Cross-check the API on OKX.
Sign up with referral code OK6512 for the Affiliate fee discount*.
*Exact discount changes with OKX Affiliate policy. Independent third party, no credential handling.
6. 2024-08-05 24h pre-crash signals
The 24 hours before 2024-08-05 are the textbook divergence case. Retail LSR (global position) on BTC climbed from 1.34 to 1.92 in the trailing 24 hours — retail was buying the dip from $63k to $61k.
Top Trader LSR over the same window fell from 1.18 to 0.71. The biggest traders were de-risking longs and opening fresh shorts.
The split was: retail leaning into a contrarian long, whales leaning into a continuation short. Twelve hours later BTC was at $49k. The whales' positioning had been the directionally correct call.
This is not a perfect signal — there are weeks when retail and whales agree and the trade goes nowhere. But when the divergence is this wide, it is worth a second look at every other open trade you have.
7. Retail contrarian vs whale directional — same moment, two reads
Picture an hourly snapshot where retail LSR is 1.9 (very long-heavy) and Top Trader LSR is 0.6 (very short-heavy). What is the call?
Two reads exist simultaneously. (a) Contrarian: retail is overextended, fade them, go short. (b) Directional: whales are short, follow them, go short. Both reads land on the same side.
When both reads agree, that is conviction-worthy. When they disagree (retail and whales both long, or both short), the signal is weaker — the market is more uniform and the next move is harder to predict.
8. Folding LSR into the decision framework
LSR is a positioning lens, not a trigger. Use it like this.
Pre-trade. Glance at retail LSR and Top Trader LSR before opening any directional trade. If they disagree with your view, that does not mean you are wrong, but it does mean the trade is less consensus.
During the trade. If retail LSR spikes past 2.5 while you are long, your trade has become the consensus trade. Tighten the stop.
Post-trade. Tag every trade with the LSR snapshot at entry. After 60 trades you will see whether your edge correlates with extreme positioning, neutral positioning or some specific divergence.
Pair this with the funding rate piece — funding is the price of carrying the consensus trade, LSR is the size of it. Together they give you a clean read on positioning stress.