Historical funding rates and hourly slippage data for perpetual DEXes — Hyperliquid, Lighter, Pacifica, Drift, Aster.
6-month historical hourly funding rates. Each record: { t: number, r: number } where r is the hourly rate.
Hourly slippage in basis points for the most recent 30 days. Smaller files, good for recent analysis.
candle (HL, Lighter), trade (Drift), impact (Pacifica)
Hourly slippage in basis points for the most recent 90 days. Larger files, best for trend and seasonality analysis.
{
"metadata": {
"dex": "hyperliquid",
"generatedAt": "2026-04-01T12:00:00Z",
"rangeStart": "2026-01-01T00:00:00Z", // v2: 90 days back
"rangeEnd": "2026-04-01T00:00:00Z",
"symbols": 227,
"records": 406155
},
"data": {
"BTC": [
// candle record (Hyperliquid, Lighter)
{ "t": 1772449200000, "type": "candle", "range": 6.74, "vol": 45181887.77, "n": 13254 },
// trade record (Drift) — fill-level slippage vs oracle
{ "t": 1772449200000, "type": "trade", "n": 312, "vol": 8120400, "avg": 4.1, "p50": 3.2, "p95": 9.8, "max": 22.1,
"b1k": 3.1, "b5k": 4.2, "b10k": 5.8, "b25k": 7.3, "b50k": null },
// impact record (Pacifica) — impact price at IMN depth
{ "t": 1772449200000, "type": "impact", "buy": 3.2, "sell": 2.9, "spread": 6.1 }
]
}
}
// JavaScript — fetch BTC slippage (90 days)
const data = await fetch("https://funding-rate-fetcher-resxspb9v-paystream.vercel.app/trade-v2-hyperliquid.json").then(r => r.json())
const btc = data.data["BTC"]
console.log(btc.length, "hourly records")
// Filter to last 30 days
const cutoff = Date.now() - 30 * 86400 * 1000
const recent = btc.filter(r => r.t >= cutoff)
const avgBps = recent.reduce((s, r) => s + r.range, 0) / recent.length
console.log("avg slippage:", avgBps.toFixed(2), "bps")
# Python
import requests
data = requests.get("https://funding-rate-fetcher-resxspb9v-paystream.vercel.app/trade-v2-drift.json").json()
sol = data["data"]["SOL"]
b10k = [r["b10k"] for r in sol if r.get("b10k") is not None]
print(f"SOL avg slippage at $10k: {sum(b10k)/len(b10k):.2f} bps")
# Funding rates — annualize
import requests
data = requests.get("https://funding-rate-fetcher-resxspb9v-paystream.vercel.app/hyperliquid.json").json()
btc = data["data"]["BTC"]["records"]
latest = btc[-1]["r"]
print(f"BTC funding rate: {latest * 24 * 365 * 100:.2f}% APR")