Contents
Cross-venue funding spreads
Cross-venue funding spread per coin: the venue with the highest and the lowest annualised funding (current rates or predicted next rates), the spread per year and per day and the smaller open interest of the two legs.
/api/v1/funding/spreadsEvery keyDescription
A difference between published rates, not an executable return (fees, price moves, funding times). Licence review: a spread involving Binance / Bybit is listed only when at least 3 venues quote the coin and both ends are exchanges whose rates are withheld (a published rate at one end plus the spread would give the other exchange’s rate); such legs keep their venue, their own fundingApr and openInterestUsd are null (meta.restricted).
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). |
basisstring | current (default) | predicted.one of current, predicted · default current |
minOiUsdnumber | Minimum open interest of the thinner leg in USD, default 0.≥ 0 · default 0 |
limitinteger | Number of items, default 100, clamped to 1–500.1–500 · default 100 |
fieldsstring | Comma-separated fields of every item to return, e.g. coin,high,low,spreadApr (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 |
|---|---|
[].coinstring | Coin name as on Hyperliquid (BTC, kPEPE, HIP-3 names like xyz:TSLA). |
[].basis"current" | "predicted" | current = published rates now, predicted = predicted next rates. |
[].highobject | - |
[].high.venue"hyperliquid" | "lighter" | "binance" | "bybit" | "okx" | Trading venue. |
[].high.fundingAprnumber · nullable | Annualised funding, fraction; null for an exchange whose raw rates are withheld during the licence review (meta.restricted). |
[].high.intervalHoursnumber · nullable | Funding interval in hours (null when unknown). |
[].high.openInterestUsdnumber · nullable | Open interest on this venue; null when unknown or withheld (USD). |
[].lowobject | - |
[].low.venue"hyperliquid" | "lighter" | "binance" | "bybit" | "okx" | Trading venue. |
[].low.fundingAprnumber · nullable | Annualised funding, fraction; null for an exchange whose raw rates are withheld during the licence review (meta.restricted). |
[].low.intervalHoursnumber · nullable | Funding interval in hours (null when unknown). |
[].low.openInterestUsdnumber · nullable | Open interest on this venue; null when unknown or withheld (USD). |
[].spreadAprnumber | high − low, annualised fraction. |
[].spreadDailynumber | Spread per day (spreadApr / 365), fraction. |
[].minOpenInterestUsdnumber · nullable | Smaller open interest of the two legs; null when a leg is withheld (USD). |
[].venuesinteger | Venues with a rate for this coin. |
[].updatedAtstring (ISO 8601) | Newest data time of this item (ISO 8601 UTC). |
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
- Funding spread (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.