Skip to content

Get Quant Gex

GET/v1/cryptodata/quant/gex

Dealer positioning / Gamma Exposure — perp analog (Pro). Built from **market-maker** accounts (the perp "dealers"): per coin we report `mm_net_delta` (dealer inventory long/short), `gamma_profile` (the MM liquidation-density by price = where MM forced unwinds cluster, the short-gamma acceleration zones) and `gamma_flip` (the price where MM long-liq-below crosses short-liq-above — the inflection). Note: perps have no literal options gamma; this is a behavioral analog from market-maker inventory + liquidation-driven forced flow, not options dealer gamma. The MM set is a heuristic classification (turnover + breadth + known desks), so treat it as a positioning signal, not an exact dealer book. Each coin also carries the composite **`regime`** flag — `amplify` (short-gamma analog: crowded book + dense clusters near mark → forced flow follows through) vs `dampen` (balanced, mean-reverting) vs `transitional` (on the flip line) — joining the cluster profile with funding skew, OI rate-of-change, the realized-liquidation cascade signal and the `dist_to_flip_pct`. Every sub-signal is returned in `regime.inputs` so the call is reproducible. `meta.maintenance_margin_tiers` gives the per-pair MM / max-leverage ladder for context. **`distribution_context`** (per coin) puts today's readings in distributional context: trailing-30-day percentile ranks of the near-mark cluster density, |distance to flip|, normalized MM skew (`mm_net_delta/mm_gross`), regime score and funding rate — e.g. "BTC near-mark fuel density is the 92nd percentile of 30d". The history is forward-only (hourly samples, started 2026-07); `history_days` / `sample_count` report how much exists and every `*_pctile` is null while `status` is `warming` (< 2 days). `meta.distribution_legend` documents each field. The same block is archived in the `gamma_exposure` snapshot type. **2026-09-09 additions.** `regime.coverage` (`full` | `funding_only` | `none`) + `regime.insufficient_mm_coverage` say how much evidence the state rests on (118/231 coins carry < 10 MM accounts — a `funding_only` state is a funding read, not a positioning read); per-coin `coverage {bands, mm_n_accounts, has_flip, history_days}`. `regime.rules_version` = `"2"`: the skew leg now scores from `distribution_context.mm_skew_pctile` (≥90/≤10 one-sided, 25–75 balanced) with the raw `market_skew` rule as the fallback while a coin's history is `warming` (`regime.inputs.skew_source` says which). `regime.since` = when the current state was first committed. `regime.inputs.funding_pinned` flags a funding series glued to HL's 1.25e-5 interest baseline (then `funding_rate_pctile` is null — the rank would be meaningless). `distribution_context.mm_skew_z` / `sample_ts`. `levels` = the 3 nearest liquidation clusters above/below mark across EVERY account class. `positions_as_of` (unix ms) top-level and per coin. `meta.regime_rules` publishes every threshold and weight; `meta.classifier_version` the tagging rule-set. `symbol` accepts a comma list (`BTC,ETH`), alias `coin`, matched case-insensitively against Hyperliquid's names (`kPEPE`). An unrecognised query parameter is a 400. `meta.maintenance_margin_tiers` is Hyperliquid's live margin table per coin. Requires a Pro or Pro Plus key; full-universe (all perps) on both.

Price

$0.01/ call

Edge cache

300s

Uptime 24h

100.00%

p95

1.50s

Parameters

NameInTypeDescription
symbol query string Filter to one coin (BTC) or a comma list (BTC,ETH,kPEPE)
coin query string Alias for `symbol` (the Hyperliquid routes call it `coin`).

Code

curl
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/quant/gex"

# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/quant/gex" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"
TypeScript · @x402/fetch
// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/cryptodata/quant/gex")).json();
console.log(data);
Python · x402
# pip install x402 eth-account requests
from eth_account import Account
from x402.clients.requests import x402_requests

session = x402_requests(Account.from_key(PRIVATE_KEY))
print(session.get("https://api.realtimeapi.ai/v1/cryptodata/quant/gex").json())
With an API key
curl "https://api.realtimeapi.ai/v1/cryptodata/quant/gex" -H "X-API-Key: $RTAPI_KEY"

Frequently asked questions

How do I get get quant gex from CryptoDataAPI?

Send GET https://api.realtimeapi.ai/v1/cryptodata/quant/gex. Pay $0.01 per request with x402, or send an X-API-Key header.

What does GET /quant/gex cost?

$0.01 per successful request in USDC on Base. Failed requests are never charged.

Can I call this endpoint from an MCP client?

Yes. Connect any MCP client to the RealtimeAPI server and use call_feed with this endpoint's URL, or get_quote to check the price first.

Get a free key

1,000 calls a month across every feed. Who is setting it up?

No key needed at all: agents can pay per call in USDC with x402.