curl --request GET \
--url https://api.hypedexer.com/market/liquidity-report/{coin} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hypedexer.com/market/liquidity-report/{coin}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hypedexer.com/market/liquidity-report/{coin}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hypedexer.com/market/liquidity-report/{coin}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hypedexer.com/market/liquidity-report/{coin}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hypedexer.com/market/liquidity-report/{coin}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hypedexer.com/market/liquidity-report/{coin}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Liquidity report for SOL: 1 weeks",
"data": {
"coin": "SOL",
"start_time": "2025-09-01T00:00:00Z",
"end_time": "2025-09-08T00:00:00Z",
"period": "week",
"deepest_hour_utc": 19,
"shallowest_hour_utc": 14,
"periods": [
{
"period_start": "2025-09-01",
"minutes": 10080,
"coverage_pct": 100,
"spread_bps_avg": 0.5276,
"spread_bps_median": 0.4915,
"book_notional_median_usd": 11580786.51,
"book_span_bps_median": 9.58,
"depth_10bps_median_usd": null,
"band_10bps_complete_pct": 1.7,
"depth_50bps_median_usd": null,
"band_50bps_complete_pct": 0,
"slip_100k_bps": 0.7244,
"slip_100k_measurable_pct": 100,
"slip_1m_bps": 1.9958,
"slip_1m_measurable_pct": 100
}
],
"by_hour_utc": [
{
"hour_utc": 0,
"book_notional_median_usd": 11036780.18,
"spread_bps_avg": 0.5267
},
{
"hour_utc": 1,
"book_notional_median_usd": 11358848.3,
"spread_bps_avg": 0.5307
}
]
},
"total_count": null,
"execution_time_ms": 168.12,
"next_cursor": null,
"has_more": null
}Liquidity report
Liquidity summary per day or week (window max 365 days): spread, median USD resting in the top 20 stored levels and their median reach in bps, median depth within 10 and 50 bps (only when the recorded book reaches that far for at least half of the period), average slippage for 100k and 1M USD over measurable minutes, coverage, plus the hour-of-day profile (UTC) of the recorded book notional. Coverage: April 2024 to February 2026 from our market data archive (data_source: archive, top ~20 levels per side), and continuously since 23 September 2026 from the full order book replayed from our own Hyperliquid node (data_source: node, every resting order). No book data between 10 February and 23 September 2026.
curl --request GET \
--url https://api.hypedexer.com/market/liquidity-report/{coin} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hypedexer.com/market/liquidity-report/{coin}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hypedexer.com/market/liquidity-report/{coin}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hypedexer.com/market/liquidity-report/{coin}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hypedexer.com/market/liquidity-report/{coin}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hypedexer.com/market/liquidity-report/{coin}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hypedexer.com/market/liquidity-report/{coin}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Liquidity report for SOL: 1 weeks",
"data": {
"coin": "SOL",
"start_time": "2025-09-01T00:00:00Z",
"end_time": "2025-09-08T00:00:00Z",
"period": "week",
"deepest_hour_utc": 19,
"shallowest_hour_utc": 14,
"periods": [
{
"period_start": "2025-09-01",
"minutes": 10080,
"coverage_pct": 100,
"spread_bps_avg": 0.5276,
"spread_bps_median": 0.4915,
"book_notional_median_usd": 11580786.51,
"book_span_bps_median": 9.58,
"depth_10bps_median_usd": null,
"band_10bps_complete_pct": 1.7,
"depth_50bps_median_usd": null,
"band_50bps_complete_pct": 0,
"slip_100k_bps": 0.7244,
"slip_100k_measurable_pct": 100,
"slip_1m_bps": 1.9958,
"slip_1m_measurable_pct": 100
}
],
"by_hour_utc": [
{
"hour_utc": 0,
"book_notional_median_usd": 11036780.18,
"spread_bps_avg": 0.5267
},
{
"hour_utc": 1,
"book_notional_median_usd": 11358848.3,
"spread_bps_avg": 0.5307
}
]
},
"total_count": null,
"execution_time_ms": 168.12,
"next_cursor": null,
"has_more": null
}Authorizations
Your Hypedexer API key. Create one in the console at https://app.hypedexer.com. Authorization: Bearer <key> and the api_key query parameter are accepted as well.
Path Parameters
Coin symbol (e.g. BTC, @107 for a spot pair, xyz:TSLA for HIP-3)
Query Parameters
Start time (ISO UTC)
End time (ISO UTC); default = start + 30 days
Aggregation period
day, week Response
OK
The response is of type object.