Contents
Large-trade tape
Large-trade tape: taker prints at or above the tape threshold ($250k for BTC / ETH, $50k otherwise; one print = the fills of one taker order at one timestamp), newest first in order of arrival (id; an exchange print can arrive after a later Hyperliquid one), with the Hyperliquid taker address (public on-chain state) and whether it is a tracked whale.
Description
Bots poll forward with after. Free keys: BTC, ETH and HYPE, last 24 hours. Licence review: raw rows of Binance and Bybit (single liquidations, prints, order books, tickers, funding and ratios per exchange, exchange candles) are not redistributed through the API while the review of their terms is pending. Asking for such a venue answers 403 source_restricted, and meta.restricted lists the withheld venues. Aggregates (sums over venues, our own figures) stay.
Who can call it
Available with every key and keyless (X-Blockmetric-Access: public). Keys of Free accounts get free-tier data (real-time feeds, 30 days of history, heatmap over time for every coin over the last 24 hours, liquidation levels now for every coin, the same as the free web plan); Pro and Desk keys the data of their plan; API Dev / API Pro raise the limits.
- No key
- 24 h
- Free
- 30 days
- Pro
- 365 days
- Desk
- 1095 days
- API Dev
- 365 days
- API Pro
- 1095 days
History window per plan. Limits: Authentication & limits.
Parameters
| Parameter | Description |
|---|---|
coinstring | Only this coin (optional; free keys: BTC, ETH or HYPE, default all three). |
venuestring | hyperliquid | binance | bybit (optional).one of hyperliquid, binance, bybit |
sidestring | buy | sell = side of the taker (optional).one of buy, sell |
minUsdnumber | Minimum print size in USD on top of the tape threshold, default 0.≥ 0 · default 0 |
sinceMinutesinteger | Look-back window in minutes, default 60, clamped to the plan history (free key 60).≥ 1 · default 60 |
fromstring | Window start (ISO 8601, inclusive); replaces sinceMinutes. Clamped to the plan history (meta.warnings says so).ISO 8601, e.g. 2026-10-23T12:00:00Z |
tostring | Window end (ISO 8601, exclusive; default now): prints before it.ISO 8601, e.g. 2026-10-23T12:00:00Z |
afterinteger | Forward polling: only prints with an id above this one, oldest first (pass meta.nextAfter of the previous poll; without from / sinceMinutes the window is the plan history). Cannot be combined with cursor.≥ 0 |
limitinteger | Number of items, default 100, clamped to 1–1000.1–1000 · default 100 |
cursorstring | Next page: the value of meta.nextCursor from the previous response (keep the other parameters unchanged). Cursors are signed: an edited cursor answers 400; paging stops at the plan history. |
fieldsstring | Comma-separated fields of every item to return, e.g. ts,coin,side,px,usd (case-insensitive). All other fields are left out, so large lists get much smaller; an unknown name answers 400 with the list of fields. Default: every field. |
formatstring | json (default: the { data, meta } envelope) | csv (the rows with a header line; nested values as JSON text) | ndjson (one JSON object per row and line). csv and ndjson carry the meta block in headers: Link rel="next" and X-Blockmetric-Next-Cursor (next page), X-Blockmetric-Next-After (forward polling), X-Blockmetric-Updated-At, X-Blockmetric-Warnings, X-Blockmetric-License. Errors stay JSON.one of json, csv, ndjson · default json |
Response fields
Every success is { data, meta }; these are the fields of data. meta is the same on every endpoint.
| Field | Description |
|---|---|
[].idinteger | Stable id of the item; on paginated feeds the order key together with ts. |
[].tsstring (ISO 8601) | Time of the event (ISO 8601 UTC). |
[].coinstring | Coin name as on Hyperliquid (BTC, kPEPE, HIP-3 names like xyz:TSLA). |
[].venue"hyperliquid" | "binance" | "bybit" | Venue of the order-flow data. |
[].market"perp" | "spot" | perp = perpetual futures, spot = spot market. |
[].side"buy" | "sell" | Side of the taker. |
[].pxnumber | Volume-weighted price of the print. |
[].usdnumber | Print size (USD). |
[].fillsinteger | Trades merged into the print. |
[].takerstring · nullable | Hyperliquid address, lowercase. |
[].whaleboolean | The taker is a tracked Hyperliquid whale. |
Errors
- 400
invalid_paramInvalid parameter - 401
unauthorizedMissing or invalid API key - 403
plan_requiredPlan does not include this - 403
scope_requiredKey not scoped for this API - 403
ip_not_allowedAddress not on the IP allowlist of the key - 403
origin_not_allowedKey used from a browser origin it does not allow - 403
source_restrictedExchange data not redistributed - 403
https_requiredhttps required - 429
rate_limitedPer-minute limit reachedretry - 429
daily_limit_exceededDaily limit reachedretry - 429
stream_limitToo many open streamsretry - 500
internal_errorInternal errorretry
Methodology
- CVD (cumulative volume delta) (how it is computed and its limits)
Code snippets in these docs are licensed under MIT-0: copy them into your own code without attribution. The SDKs, CLI and MCP server will be, once published, Apache-2.0; the name Blockmetric is not licensed (forks must be renamed). Data from the API is governed by the API terms; third-party exchange data by the exchange’s terms.