How to backtest on Hyperliquid
To backtest on Hyperliquid, get history from a source that reaches past the API's limit of 5000 candles per interval, then simulate with Hyperliquid's real fees and hourly funding. Free Parquet candles cover every perp and spot pair hourly from 25 May 2025, and Ironflow's API serves 1 minute bars and every trade from the same date.
Free key14 days of history at 60 requests a minute. Without a key, the API reaches 24 hours back.
By requesting a key you agree to the Terms and API terms; see the Privacy Policy. We may email you when your key keeps hitting its limits; you can opt out at any time.
The answer#
- Hourly strategy: use the free hourly candles. No key, no account.
- Intraday strategy: use
/v1/candlesat 1 minute, or build bars from every trade with SQL. - Always: charge fees on every trade and funding on every position held across the hour.
- Then: run it on a paper account with live prices before real money.
What each source covers#
| Data | From | Where | Note |
|---|---|---|---|
| Hourly candles | 25 May 2025 | Free Parquet, no key | Every perp and spot pair, delisted markets included |
| Candles, 1m to 1w | 25 May 2025 | /v1/candles | Reach depends on the plan, see below |
| Every trade (ticks) | 25 May 2025 | /v1/trades, SQL hl.trades | Trades dataset is free from 3 Oct 2026 |
| Funding rates | 12 May 2023 | Free Parquet, no key | Hourly since 8 June 2023 |
| Open interest, mark, oracle | 20 May 2023 | Free Parquet, no key | Hourly |
| Hyperliquid candleSnapshot | Last 5000 candles | POST /info | About 3.5 days at 1m, 208 days at 1h |
API reach depends on the plan: 24 hours without a key, 14 days with a free key, 90 days on Explorer and 1 year on Builder. The free files have no such limit. Hyperliquid's info endpoint returns only the most recent 5000 candles per interval.
The exact calls#
Hourly candles in pandas#
One month of the free dataset, then a moving average cross with the base taker fee. We ran this on the October 2026 file: 744 hourly BTC bars.
import pandas as pd
URL = "https://huggingface.co/datasets/ironflow/hyperliquid-candles-1h/resolve/main/data/2026-10.parquet"
df = pd.read_parquet(URL, columns=["timestamp", "coin", "open", "high", "low", "close", "volume"])
btc = df[df.coin == "BTC"].sort_values("timestamp").set_index("timestamp")
TAKER_FEE = 0.00045 # Hyperliquid's base perp taker fee, 0.045%
c = btc["close"]
fast, slow = c.rolling(24).mean(), c.rolling(96).mean()
position = (fast > slow).astype(int).shift(1).fillna(0)
returns = position * c.pct_change().fillna(0) - position.diff().abs().fillna(0) * TAKER_FEE
print((1 + returns).prod() - 1)Files are named by month, data/YYYY-MM.parquet. Load each month you need and concatenate. Needs pandas and pyarrow.
1 minute candles over REST#
curl 'https://api.ironflow.sh/v1/candles?market=BTC-PERP&interval=1m&from=-6h'Free keyWithout a key the API reaches 24 hours back. A free key reaches 14 days at 60 requests a minute. Get one by email.
Build your own bars from every trade#
One SQL query over hl.trades gives any bar size or filter, with taker volume. Keyless reads the last 24 hours.
curl -G 'https://api.ironflow.sh/v1/query' --data-urlencode "sql=SELECT toStartOfHour(ts) AS hour, argMin(price, (ts, tid)) AS open_px, max(price) AS high_px, min(price) AS low_px, argMax(price, (ts, tid)) AS close_px, round(sum(notional)) AS volume_usd FROM hl.trades WHERE market = 'BTC-PERP' AND ts >= now() - INTERVAL 6 HOUR GROUP BY hour ORDER BY hour"Fees and funding#
A backtest that skips these is optimistic. From Hyperliquid's fee schedule on 9 November 2026:
- Perps at the base tier: 0.045% taker, 0.015% maker.
- Spot at the base tier: 0.070% taker, 0.040% maker.
- Tiers are set by rolling 14 day volume, and HIP-3 markets add a deployer fee that varies by market.
- Funding settles every hour. The free funding dataset has every settled rate.
What candles cannot show#
- A bar has no order book, so it cannot tell you slippage. Fill your simulation at the next open with a conservative buffer.
- Liquidations and stops can fill far from the close of a bar. Test with 1 minute data or ticks for anything that uses tight stops.
- A strategy that needs order book depth needs book data. See the order book guide.
Test it live on paper#
A paper box is your own simulated Hyperliquid account with 10,000 USD and live prices. It speaks the Hyperliquid API, so the same bot runs against it through the official SDK's base_url.
curl -X POST https://api.ironflow.sh/v1/ironboxNo key is needed for a 24 hour trial. The paper trading guide shows the setup.
Questions#
Is there free Hyperliquid data for backtesting?#
Yes. Ironflow publishes hourly candles for every perp and spot pair from 25 May 2025 on Hugging Face and Kaggle as free Parquet files under CC BY 4.0, no key needed. Funding rates and hourly open interest are free back to May 2023.
How far back can I backtest on Hyperliquid?#
Hyperliquid's own API returns the most recent 5000 candles per interval, about 3.5 days at 1 minute. Ironflow's candles and trades start on 25 May 2025, and funding rates start in May 2023.
Where can I get 1 minute Hyperliquid candles for a backtest?#
GET https://api.ironflow.sh/v1/candles with interval=1m. Without a key it reaches 24 hours back, a free key 14 days, Explorer 90 days and Builder 1 year.
What fees should a Hyperliquid backtest use?#
At the base tier perps cost 0.045% taker and 0.015% maker, and spot 0.070% taker and 0.040% maker. Tiers fall with 14-day volume, and HIP-3 markets vary by deployer.
Do I need funding in a Hyperliquid backtest?#
Yes for anything held across hours. Hyperliquid settles funding every hour. The free funding dataset has every settled rate, so subtract them on your position size.
Can I forward test before trading real money?#
Yes. POST https://api.ironflow.sh/v1/ironbox makes a paper account with 10,000 USD and live prices, no key needed. It never places a real order.
Related guides#
- Hyperliquid historical data: API, S3 archive, SQL and free downloads
- Hyperliquid candles and OHLCV data
- Hyperliquid funding rates
- Hyperliquid paper trading
- Free Hyperliquid datasets
References#
- Hyperliquid hourly candles dataset. Hourly OHLCV for every perp and spot pair, CC BY 4.0.
- Hyperliquid funding rates dataset. Every settled funding rate, CC BY 4.0.
- Hyperliquid docs: Fees. The fee tiers used above.
- Hyperliquid docs: Info endpoint. The candleSnapshot limit.
- Ironflow docs: Rate limits. History and requests by plan.
Need every fill or a longer window? Plans are here, from 90 days to a year of history, with SQL export to Parquet.
Free key14 days of history at 60 requests a minute. Without a key, the API reaches 24 hours back.
By requesting a key you agree to the Terms and API terms; see the Privacy Policy. We may email you when your key keeps hitting its limits; you can opt out at any time.