Skip to content

Global API

The whole-market derivatives board in one endpoint: total open interest with its crypto-versus-RWA split, 24-hour liquidations on three venues (Binance, Bybit, Deribit; a lower bound), an unweighted average RSI across the top 100 crypto perps by market cap, the Altcoin Season Index, and a ranked per-asset table. One universe covers crypto perps and every RWA perp class (equities, pre-IPO, ETFs, indices, commodities and FX), so a single call answers "what is the market doing" across both spines.


GET/v1/global/overview

Get the global overview

Returns market-wide metrics plus the row table for one asset class. The metrics are identical on every tab: they describe the whole market, not the selected class.

Query parameters

  • Name
    tab
    Type
    string
    Description

    Which universe to return rows for. One of crypto, equity, preipo, etf, index, commodity, fx. Defaults to crypto. Thematic baskets such as MAG7 have no tab in v1 and are rejected.

  • Name
    limit
    Type
    integer
    Description

    Maximum rows per page (1 to 1000). Enables cursor pagination; when set, the response returns rows only and omits the metrics block.

  • Name
    cursor
    Type
    string
    Description

    Opaque pagination cursor from a previous response.

Metric definitions

Open interest sums the latest reading of every contract across both spines, filed under its asset: a coin's lot contracts (Binance 1000PEPEUSDT, Hyperliquid kPEPE) count toward the coin, and each venue is counted once in the row's venue count. Every venue's reading is one-sided USD notional (each contract counted once), whether the venue publishes one side or both. A venue named in metrics.openInterestExcludedVenues is left out of every figure on the board (MEXC today: its open interest moves 7.00x the position change of its own trade feed). A symbol listed by both spines is counted once, on the RWA side. TSLA and NVDA, for example, run as equity perps on Bybit and Binance as well as on the RWA venues. The 24-hour change compares a matched symbol set at both ends of the window.

The open interest sparkline (metrics.openInterestSparkline, hourly, 24 points) plots the crypto spine (hourly open interest, MEXC excluded) plus the RWA perp snapshot sum. The RWA snapshots carry no per-venue split, so tradfi legs that a crypto-spine venue lists and the RWA row's venue list does not name are in openInterestUsd and not in the sparkline. Its last point therefore sits below openInterestUsd by that amount by definition, and when the gap passes 1% meta.warnings carries a global_oi_sparkline_scope line with the figure. Example, 2026-10-12 about 13:00 UTC: headline $92.99B, sparkline last point $88.91B, a gap of $4.09B (4.4%). That is one dated reading, not a rule: the gap moves with those venues' open interest.

Funding (fundingRate) is a fraction per 8 hours. On crypto it is the coin's average across venues, the funding grid's Avg Rate: each venue's primary contract rebased to 8 hours from its own settlement interval and weighted by that contract's one-sided open interest when at least two venues, and a majority of them, carry open interest (a venue in metrics.openInterestExcludedVenues lends no weight); otherwise their median. Only venues refreshed within 10 minutes count; a coin with none is null. On the RWA tabs it is the open-interest-weighted mean across the RWA venues.

Liquidations are crypto-only: no RWA perp venue publishes a liquidation feed. They cover three venues only, Binance and Bybit from our own capture of their liquidation streams and Deribit from Velo, and only the coins the futures sync tracks (about 85 rows carry a figure), so the headline is a lower bound, not a market-wide total: Hyperliquid, Gate, Bitget and the other venues behind open interest are not in it. OKX is left out too: its series is a delayed, partial sample of OKX's liquidations, not their total. They arrive as hourly buckets, so the newest bucket is still accumulating and the window is a rolling 23-24 hours.

Price, volume and market cap on crypto cover different universes. price is the freshest of the coin's 1h futures candle, its Binance mark from the funding book, the CoinGecko price (synced every three hours) and the last daily close; a coin Binance does not list and the futures sync does not track has none. volume24hUsd (futures notional) comes from the 1h candles, which cover the roughly 100 coins the futures sync tracks, and priceChange24hPct from those candles or else CoinGecko's 24h change; marketCapUsd covers the top 100 coins by market cap. So most of the ~600 rows carry null in those three fields. null means not measured, never zero.

AVG RSI is Wilder's RSI(14) on daily closes, averaged unweighted across the actively trading crypto perps that have enough history, ranked by market cap. A weighted average collapses toward BTC's own RSI, which a trader can already read on a chart. Stablecoins and tokenized metals are excluded, because both sit near 50 by construction and carry no momentum signal. Coins that have stopped printing daily candles are excluded too, so the reading is never a frozen one. Symbols with fewer than 15 daily candles are skipped rather than counted as neutral; avgRsiSampleSize reports how many contributed.

Altcoin Season Index is the share of the top 50 coins by market cap that outperformed BTC over the trailing 90 days, per the Blockchaincenter definition. The 90-day window comes from each coin's daily price series, refreshed once a day, so all 50 constituents are measured against the same window and altcoinSeasonSampleSize reports 50. It excludes BTC itself, stablecoins, tokenized metals, and wrapped or staked derivatives, because leaving five ETH derivatives in would count one signal five times; the top 50 is taken after those exclusions so the denominator is always 50 real alts. Scores of 25 or below read as Bitcoin Season, 75 and above as Altcoin Season.

Column availability by tab

Liquidations appear on crypto only. Every row carries venueCount: on the crypto tab the distinct venues holding the asset's contracts, on RWA tabs how many venues list the underlying. Market cap is absent on preipo and index, because OPENAI and SPX do not have one.

Freshness

Open interest refreshes every 10 minutes, funding every 5 minutes, and RWA rows every 30 minutes. isStale is set when either spine exceeds its own window (20 minutes for the crypto spine, 60 for the RWA spine: the SLAs of their datasets). The freshness envelope judges the answer itself: meta.as_of dates the board (the crypto snapshot's composition, or the newest RWA sync on the other tabs), and X-Freshness-Sla-Seconds / meta.freshness_sla_seconds is 600 on crypto (the 5-minute composition plus one skipped run) and 3600 on the RWA tabs (the 30-minute RWA sync plus one skipped run). Liquidations lag by up to one hourly bucket, and market cap by up to two hours. The response carries updatedAt and isStale so a client can surface the age rather than implying live data. When composing the board fails or runs past its 20-second budget, every tab answers from the last board the 5-minute funding cron stored for it, flagged isStale: true (and X-Data-Stale: true) with updatedAt and X-Data-As-Of set to that board's own time, and the answer is not cached. A tab with no stored board answers the last board the server composed for the tab, flagged the same way, when it has one, and 503 (Retry-After: 30) otherwise. A tab with no rows returns 503.

Request

GET
/v1/global/overview
curl https://www.sharpe.ai/api/v1/global/overview?tab=crypto \
  -H "Authorization: Bearer {token}"

Response

{
  "meta": {
    "request_id": "req_1bd292a1da57",
    "timestamp": "2026-07-31T08:09:08.021Z",
    "elapsed_ms": 412
  },
  "data": {
    "tab": "crypto",
    "updatedAt": "2026-07-31T08:09:08.021Z",
    "isStale": false,
    "metrics": {
      "openInterestUsd": 41920000000,
      "openInterestChange24hPct": -0.16,
      "cryptoOpenInterestUsd": 33370000000,
      "rwaOpenInterestUsd": 8550000000,
      "liquidations24hUsd": 56370000,
      "liquidationsChange24hPct": -36.6,
      "avgRsi": 46.42,
      "avgRsiSampleSize": 87,
      "altcoinSeasonIndex": 68,
      "altcoinSeasonSampleSize": 50,
      "classBreakdown": [
        { "tab": "crypto", "label": "Crypto", "openInterestUsd": 33370000000, "symbolCount": 91 }
      ]
    },
    "rows": [
      {
        "rank": 1,
        "symbol": "BTC",
        "name": "Bitcoin",
        "price": 63872,
        "priceChange24hPct": -0.12,
        "fundingRate": 0.000041,
        "volume24hUsd": 28980000000,
        "marketCapUsd": 1280000000000,
        "openInterestUsd": 15790000000,
        "oiChange1hPct": 0.06,
        "oiChange24hPct": 0.76,
        "liquidations24hUsd": 26500000,
        "venueCount": 5,
        "isStale": false
      }
    ]
  }
}

Was this page helpful?