Get Quant Positioning
GET/v1/cryptodata/quant/positioning
Per-coin trader positioning by account type (Pro). Aggregates the full HL account universe (every account >= $100k holding a position; active accounts re-polled every liq-map cycle — 15 min on the public path, 5 min once batch RPC is armed) into per-coin long/short/net/gross notional split by **trader type** — `market_maker`, `whale`, `other`, and `all` — using a behavioral classifier (turnover, market breadth, leverage, PnL consistency). The `market_maker` bucket is the basis for the dealer-gamma view at `/quant/gex`. Each bucket also reports the distinct account count. `by_type` is a partition (each account in exactly one class). `by_tag` (`smart_money`, `high_leverage`; same shape) are orthogonal overlays — an account can carry both tags or neither, in any class — so they are NOT a breakdown of any `by_type` bucket. `positions_as_of` (unix ms) is the liqmap poll cycle the positions come from (top level) and, per coin, the newest poll time among that coin's contributing accounts. `meta.classifier_version` is the tagging rule-set id (CalVer); a bump there, not the market, may move accounts between classes. `symbol` (alias `coin`) matches Hyperliquid names case-insensitively (`kPEPE`, `kpepe`). An unrecognised query parameter is a 400.
Price
$0.01/ callEdge cache
300s
Uptime 24h
100.00%
p95
1.47s
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| 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
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/quant/positioning"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/quant/positioning" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"// 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/positioning")).json();
console.log(data);# 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/positioning").json())curl "https://api.realtimeapi.ai/v1/cryptodata/quant/positioning" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
How do I get get quant positioning from CryptoDataAPI?
Send GET https://api.realtimeapi.ai/v1/cryptodata/quant/positioning. Pay $0.01 per request with x402, or send an X-API-Key header.
What does GET /quant/positioning 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.