HyperLiquid Indexer
Complete perpetual trading data with nanosecond precision. Query every fill, funding payment, and TWAP execution.
:::info Access $200/month with trial available. Contact us to get started. :::
What's Indexed
| Table | Description | Size |
|---|---|---|
fills | All perpetual trade executions | 2.8B rows |
fundings | Funding rate payments | 156M rows |
twaps | TWAP order executions | 12M rows |
user_fundings | Per-user funding records | 89M rows |
Coverage: All perpetual markets since May 2025. Updated in real-time.
Key Features
Nanosecond Timestamps
Every fill includes the exact microsecond it occurred—not just block time. Critical for:
- Latency analysis between signal and execution
- Cross-venue arbitrage timing (vs CEX, Solana)
- Order flow pattern detection
Complete Position Context
Each trade includes:
- Entry/exit price
- Position size before and after
- Realized PnL
- Liquidation flags
- TWAP correlation
Smart Wallet Discovery
Find wallets with consistent profitability patterns:
SELECT
user,
count(*) as trades,
sum(closedPnl) / 1e6 as realized_pnl,
sum(closedPnl) / nullIf(sum(abs(closedPnl)), 0) as win_rate
FROM fills
WHERE time > now() - INTERVAL 30 DAY
GROUP BY user
HAVING trades > 100
ORDER BY realized_pnl DESC
LIMIT 50Sample Queries
Recent Large Fills
SELECT
time,
user,
coin,
side,
px,
sz,
closedPnl / 1e6 as pnl_usd
FROM fills
WHERE time > now() - INTERVAL 1 HOUR
AND sz * px > 100000 -- > $100k notional
ORDER BY sz * px DESC
LIMIT 20Funding Rate History
SELECT
toStartOfHour(time) as hour,
coin,
avg(fundingRate) as avg_funding,
sum(fundingRate) as cumulative_funding
FROM fundings
WHERE time > now() - INTERVAL 7 DAY
AND coin = 'BTC'
GROUP BY hour, coin
ORDER BY hourTWAP Execution Analysis
SELECT
user,
coin,
count(*) as twap_fills,
sum(sz) as total_size,
avg(px) as avg_price,
min(time) as started,
max(time) as ended
FROM twaps
WHERE time > now() - INTERVAL 24 HOUR
GROUP BY user, coin
ORDER BY total_size DESC
LIMIT 20Connection Details
| Field | Value |
|---|---|
| Host | 51.68.240.215 |
| Port | 28123 (HTTP) / 29000 (native) |
| Database | hyperliquid |
Python
import clickhouse_connect
client = clickhouse_connect.get_client(
host='51.68.240.215',
port=28123,
username='your_user',
password='your_pass',
database='hyperliquid'
)
df = client.query_df("""
SELECT * FROM fills
WHERE time > now() - INTERVAL 1 HOUR
LIMIT 1000
""")DBeaver
- New Connection -> ClickHouse
- Host:
51.68.240.215, Port:28123 - Database:
hyperliquid - Enter credentials and test connection
Next Steps
- Table Reference — Full schema documentation
- Query Examples — Common analysis patterns
HyperLiquid Indexer — $200/month
Unlimited queries · Direct support · Community access