Get Trade Flow
GET/v1/cryptodata/hyperliquid/trade-flow
Per-minute taker buy/sell flow for one perp, newest last, dense. Every row is one closed UTC minute. ``buy_notional`` / ``sell_notional`` are USD notional by AGGRESSOR side (HL ``B`` = taker bought, ``A`` = taker sold); their sum is the minute's total traded notional. ``vwap`` is that minute's notional-weighted price; ``max_fill_usd`` the largest single fill; ``large_fill_share`` the share of notional from fills at or above ``large_fill_usd`` (``null`` when none qualify). ``cvd_usd`` is the cumulative buy-minus-sell notional running from ``window_start`` — it resets per request, so compare rows within one response only. ``partial: true`` means our socket did not watch the whole minute (a reconnect, a deploy). Such minutes come back with ``null`` notional when nothing was captured, and are NOT back-filled — HL's public stream has no replay. A covered minute with no fills is a genuine zero (``0.0``, ``partial: false``). ``stream.coverage_pct`` is the share of the last 60 minutes fully watched. The current, still-open minute is never included. 503 ``trade_flow_warming`` until the first bucket closes (about a minute after the collector starts); 404 for a coin HL does not list. Pro.
Price
$0.01/ callEdge cache
Off
Uptime 24h
100.00%
p95
643ms
MCP tool
cryptodata_hyperliquid-trade-flow
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| coin | query | string = BTC | HL coin name (BTC, ETH, kPEPE — case-sensitive after the first letter for k-prefixed perps) |
| minutes | query | integer = 60 | Trailing window in whole minutes (max 24h) |
Code
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/trade-flow"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/trade-flow" -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/hyperliquid/trade-flow")).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/hyperliquid/trade-flow").json())curl "https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/trade-flow" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
How do I get get trade flow from CryptoDataAPI?
Send GET https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/trade-flow. Pay $0.01 per request with x402, or send an X-API-Key header.
What does GET /hyperliquid/trade-flow 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.