Open data: perp DEX funding rates as JSON and CSV
The site's numbers as files: no key, CORS open, CC BY 4.0. Rates are hourly fractions (×8 for 8h, ×8,760 for APR); positive = longs pay shorts.
Files
| File | What | Rows |
|---|---|---|
| latest.json | Current snapshot: venue totals, the Funding Index, and per-token rates, open interest, 24h volume, mark price and 7-day average on Hyperliquid, Lighter, Aster, plus Binance/Bybit reference rates. | 639 tokens |
| index.csv | DEX Funding Index history: OI-weighted hourly rate (all venues, Hyperliquid, Lighter), DEX vs Binance premium, share of markets with positive funding, venue OI and volume. src = live or backfill. | 169 hourly rows |
| history/2026-10.csv | Hourly funding, open interest and mark price for the 50 tokens with a detail page, on each venue where listed, plus the Binance reference rate. | 396 rows |
| funding/<token>.csv | The same history for one token, e.g. funding/btc.csv, funding/eth.csv, funding/hype.csv. Linked from every token page. | 50 files |
Columns
- ts
- UTC timestamp of the snapshot, ISO 8601, minute precision.
- token
- Canonical base symbol. Hyperliquid's
kprefix and the1000prefix on Lighter/Aster are stripped (kPEPE = 1000PEPE = PEPE). - venue
hyperliquid,lighter,asterorbinance(reference).- hourly_rate
- Funding per hour as a fraction (0.0000125 = 0.00125%/h). Aster's per-interval rate is divided by its interval; Lighter's 8h-basis rate by 8.
- rate_8h_pct, apr_pct
- Convenience columns: hourly × 800 (percent per 8 hours) and hourly × 876,000 (simple annual percent).
- oi_usd, mark_px
- Open interest in USD (contracts × mark) and mark price on that venue at the snapshot. Empty for the Binance reference row.
Quick start
curl -s https://perpys.com/data/latest.json | jq '.index, .tokens[0]'
import pandas as pd
df = pd.read_csv("https://perpys.com/data/funding/btc.csv", parse_dates=["ts"])
df.pivot(index="ts", columns="venue", values="apr_pct").plot()Terms and caveats
- License CC BY 4.0: use, redistribute and build on the files with attribution to Perpys (a link is enough). The underlying market data belongs to the venues' public APIs.
- One reading per hour at the top of the hour plus a few minutes. Between readings the venues' rates can change; the files describe the hour's snapshot, not every settlement.
- Historical open interest in
index.csvrows markedbackfillis the launch-day open interest, because the venues do not publish OI history. Live rows use each hour's open interest. - Files are regenerated from the archive on every build; URLs are stable, schemas may gain columns at the end but existing columns will not be renamed.
- Data, not advice. See the disclaimer.