Skip to main content

Hyperliquid Pre-Built Queries

Updated on
Apr 02, 2026

Overview

This page documents all pre-built SQL queries available for Hyperliquid HyperCore data analysis through the SQL Explorer REST API. These queries cover trading activity, market analysis, position tracking, infrastructure monitoring, portfolio management, and platform analytics.

All queries use the same endpoint and authentication method:

  • Endpoint: POST https://api.quicknode.com/sql/rest/v1/query
  • Authentication: Include your API key in the x-api-key header
  • Cluster ID: hyperliquid-core-mainnet

Building Custom Queries?

See the Schema Reference for complete table and column documentation to build your own SQL queries.

Trading Queries

Query individual trades and trading volume data from Hyperliquid.

Recent Trades

Last 100 trades with buyer/seller details.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT timestamp, coin, side, price, size, toFloat64(price) * toFloat64(size) AS notional_usd, buyer_address, seller_address, buyer_fee, seller_fee, fee_token FROM hyperliquid_trades WHERE block_time > now() - INTERVAL 1 HOUR ORDER BY block_number DESC, trade_id DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Volume by Coin (24h)

Top coins by trading volume in the last 24 hours.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT coin, count() AS trade_count, sum(toFloat64(price) * toFloat64(size)) AS volume_usd, min(toFloat64(price)) AS low, max(toFloat64(price)) AS high, avg(toFloat64(price)) AS avg_price FROM hyperliquid_trades WHERE timestamp > now() - INTERVAL 24 HOUR GROUP BY coin ORDER BY volume_usd DESC LIMIT 50",
"clusterId": "hyperliquid-core-mainnet"
}'

Whale Trades (24h)

Trades over $100K in the last 24 hours.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT timestamp, coin, side, price, size, toFloat64(price) * toFloat64(size) AS notional_usd, buyer_address, seller_address FROM hyperliquid_trades WHERE block_time > now() - INTERVAL 24 HOUR AND toFloat64(price) * toFloat64(size) > 100000 ORDER BY notional_usd DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

DEX Trades (Enriched View)

Trades with market type (perpetual vs spot) from the enriched view.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT timestamp, coin, market_type, side, price, size, usd_amount, buyer_address, seller_address FROM hyperliquid_dex_trades WHERE block_time > now() - INTERVAL 1 HOUR ORDER BY block_number DESC, trade_id DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Activity Queries

Analyze trading volume and user activity metrics aggregated over time periods.

Hourly Volume

Trading volume aggregated by hour for the last 7 days.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT toStartOfHour(timestamp) AS hour, count() AS trades, sum(toFloat64(price) * toFloat64(size)) AS volume_usd FROM hyperliquid_trades WHERE timestamp > now() - INTERVAL 7 DAY GROUP BY hour ORDER BY hour DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Daily Volume

Daily trading volume for the last 30 days.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT toStartOfDay(timestamp) AS day, count() AS trades, sum(toFloat64(price) * toFloat64(size)) AS volume_usd, uniqExact(arrayJoin([buyer_address, seller_address])) AS unique_traders FROM hyperliquid_trades WHERE timestamp > now() - INTERVAL 30 DAY GROUP BY day ORDER BY day DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Top Traders by Volume (7d)

Most active traders by volume in the last 7 days.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT trader, count() AS trade_count, sum(volume) AS total_volume, uniqExact(coin) AS coins_traded FROM ( SELECT buyer_address AS trader, toFloat64(price) * toFloat64(size) AS volume, coin FROM hyperliquid_trades WHERE timestamp > now() - INTERVAL 7 DAY UNION ALL SELECT seller_address AS trader, toFloat64(price) * toFloat64(size) AS volume, coin FROM hyperliquid_trades WHERE timestamp > now() - INTERVAL 7 DAY ) GROUP BY trader ORDER BY total_volume DESC LIMIT 50",
"clusterId": "hyperliquid-core-mainnet"
}'

Fills Queries

Access fill events including position changes, liquidations, and realized PnL data.

Recent Fills

Last 100 individual fill events.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT time, coin, side, price, size, fee, fee_token, closed_pnl, dir, user, hash FROM hyperliquid_fills WHERE block_time > now() - INTERVAL 1 HOUR ORDER BY block_number DESC, tid DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Recent Liquidations

Recent liquidation events with mark prices.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT time, coin, side, price, size, toFloat64(price) * toFloat64(size) AS notional, liquidated_user, liquidation_mark_price, liquidation_method, user FROM hyperliquid_fills WHERE block_time > now() - INTERVAL 24 HOUR AND is_liquidation = 1 ORDER BY block_number DESC, tid DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Orders Queries

Retrieve order placement, cancellation, and status update events.

Recent Orders

Latest 100 order events.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT status_time, coin, side, order_type, limit_price, size, orig_size, status, tif, user FROM hyperliquid_orders WHERE block_time > now() - INTERVAL 1 HOUR ORDER BY block_number DESC, oid DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Order Type Distribution (1h)

Breakdown of order types in the last hour.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT order_type, side, status, count() AS order_count, uniqExact(user) AS unique_users FROM hyperliquid_orders WHERE block_time > now() - INTERVAL 1 HOUR GROUP BY order_type, side, status ORDER BY order_count DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Funding Queries

Query funding rate payments and historical funding rate data for perpetual positions.

Latest Funding Payments

Most recent funding payments by coin.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT coin, funding_rate, count() AS payments, sum(toFloat64(funding_amount)) AS total_funding, avg(toFloat64(szi)) AS avg_position_size FROM hyperliquid_funding WHERE time > now() - INTERVAL 8 HOUR GROUP BY coin, funding_rate ORDER BY abs(total_funding) DESC LIMIT 50",
"clusterId": "hyperliquid-core-mainnet"
}'

Funding Rate History by Coin

Hourly funding rates for top coins over 7 days.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT toStartOfHour(time) AS hour, coin, avg(toFloat64(funding_rate)) AS avg_funding_rate, count() AS payment_count, sum(toFloat64(funding_amount)) AS total_funding FROM hyperliquid_funding WHERE time > now() - INTERVAL 7 DAY AND coin IN ('BTC', 'ETH', 'SOL') GROUP BY hour, coin ORDER BY hour DESC, coin LIMIT 500",
"clusterId": "hyperliquid-core-mainnet"
}'

Infrastructure Queries

Monitor block production, transaction execution, and network-level activity.

Block Activity

Event counts per block for recent blocks.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT block_number, block_time, fills_count, orders_count, misc_events_count, book_diffs_count, twap_statuses_count, writer_actions_count FROM hyperliquid_blocks ORDER BY block_number DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Recent Transactions

Latest L1 transactions with action types.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT block_time, round, tx_hash, user, action_type, is_success, error FROM hyperliquid_transactions ORDER BY round DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Action Type Breakdown (24h)

Distribution of transaction types.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT action_type, count() AS tx_count, countIf(is_success = 1) AS success_count, countIf(is_success = 0) AS failed_count, round(countIf(is_success = 1) / count() * 100, 2) AS success_rate FROM hyperliquid_transactions WHERE block_time > now() - INTERVAL 24 HOUR GROUP BY action_type ORDER BY tx_count DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Ledger Queries

Track asset transfers, deposits, withdrawals, and balance changes across accounts.

Recent Asset Transfers

Latest deposits, withdrawals, and internal transfers.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT time, transfer_type, user, destination, token, amount, usdc_amount, fee, tx_hash FROM hyperliquid_asset_transfers ORDER BY block_number DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Transfer Volume by Type (7d)

Aggregate transfer volumes grouped by type.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT transfer_type, count() AS transfer_count, sum(toFloat64(usdc_amount)) AS total_usdc, uniqExact(user) AS unique_users FROM hyperliquid_asset_transfers WHERE time > now() - INTERVAL 7 DAY GROUP BY transfer_type ORDER BY total_usdc DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Recent Ledger Updates

Raw ledger deltas (deposits, withdrawals, liquidations, etc.).

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT time, delta_type, user, usdc_amount, token, amount, destination, fee, hash FROM hyperliquid_ledger_updates ORDER BY block_number DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Bridge Deposits & Withdrawals

L1 bridge activity from the latest ABCI snapshot.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT bridge_type, user, amount_wei, tx_hash, eth_block_number, event_time, snapshot_time FROM hyperliquid_bridge WHERE block_number = (SELECT max(block_number) FROM hyperliquid_bridge) ORDER BY toFloat64(amount_wei) DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Markets Queries

Access market configuration, current prices, funding rates, and open positions data.

Perpetual Markets

All perpetual markets with leverage and decimals.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT coin, market_index, sz_decimals, max_leverage, only_isolated FROM hyperliquid_perpetual_markets ORDER BY coin LIMIT 500",
"clusterId": "hyperliquid-core-mainnet"
}'

Spot Markets

All spot tokens with metadata.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT token_index, token, token_id, full_name, sz_decimals, wei_decimals, is_canonical, evm_contract FROM hyperliquid_spot_markets ORDER BY token_index LIMIT 500",
"clusterId": "hyperliquid-core-mainnet"
}'

Market Context (Latest)

Current funding rates, open interest, and prices.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT coin, funding, open_interest, mark_px, oracle_px, mid_px, premium, day_ntl_vlm, prev_day_px FROM hyperliquid_perpetual_market_contexts WHERE polled_at > now() - INTERVAL 5 MINUTE ORDER BY toFloat64(day_ntl_vlm) DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Oracle Prices (All DEXes)

Mark and daily prices for all assets at the latest snapshot.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT clearinghouse, coin, mark_px, daily_px, snapshot_time FROM hyperliquid_oracle_prices WHERE block_number = (SELECT max(block_number) FROM hyperliquid_oracle_prices) ORDER BY clearinghouse, asset_idx",
"clusterId": "hyperliquid-core-mainnet"
}'

Largest Open Positions (All DEXes)

Top perp positions by entry notional across all 8 clearinghouses.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT user, clearinghouse, coin, size, entry_notional, margin, funding_alltime, snapshot_time FROM hyperliquid_clearinghouse_states WHERE block_number = (SELECT max(block_number) FROM hyperliquid_clearinghouse_states) AND toFloat64(size) != 0 ORDER BY abs(toFloat64(entry_notional)) DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Portfolio & Positions Queries

Track user portfolios, positions, vault equity, sub-accounts, and agent authorizations.

Spot Balances for Address

Token balances from the latest ABCI snapshot (replace address).

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT token, token_idx, total, escrowed, snapshot_time FROM hyperliquid_spot_clearinghouse_states WHERE user = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_spot_clearinghouse_states) AND toFloat64(total) != 0 ORDER BY abs(toFloat64(total)) DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Vault Depositor Equity

Top vault depositors by ownership fraction.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT vault_name, depositor, ownership_fraction, net_deposits, leader, leader_commission, snapshot_time FROM hyperliquid_vault_equities WHERE block_number = (SELECT max(block_number) FROM hyperliquid_vault_equities) ORDER BY toFloat64(ownership_fraction) DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Sub-Account Mappings

Sub-account to master-account relationships.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT sub_account, master_account, name, snapshot_time FROM hyperliquid_sub_accounts WHERE master_account = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_sub_accounts) ORDER BY name",
"clusterId": "hyperliquid-core-mainnet"
}'

Bot/Agent Lookups

Find which bot or app submitted trades for a user.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT agent, user, name, valid_until, snapshot_time FROM hyperliquid_agents WHERE user = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_agents) ORDER BY name",
"clusterId": "hyperliquid-core-mainnet"
}'

Display Name Lookups

Resolve addresses to human-readable display names.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT user, display_name, snapshot_time FROM hyperliquid_display_names WHERE block_number = (SELECT max(block_number) FROM hyperliquid_display_names) ORDER BY display_name LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Full Portfolio View

Unified portfolio across perps, spot, vaults, and staking (replace address).

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT 'perps' AS type, coin AS asset, toFloat64(size) AS amount, toFloat64(entry_notional) AS extra FROM hyperliquid_clearinghouse_states WHERE user = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_clearinghouse_states) AND toFloat64(size) != 0 UNION ALL SELECT 'spot', token, toFloat64(total), toFloat64(escrowed) FROM hyperliquid_spot_clearinghouse_states WHERE user = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_spot_clearinghouse_states) AND toFloat64(total) != 0 UNION ALL SELECT 'vault', vault_name, toFloat64(ownership_fraction) * 1000000, toFloat64(net_deposits) FROM hyperliquid_vault_equities WHERE depositor = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_vault_equities) UNION ALL SELECT 'delegation', validator, toFloat64(reward), toFloat64(commission_bps) FROM hyperliquid_delegator_rewards WHERE delegator = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_delegator_rewards)",
"clusterId": "hyperliquid-core-mainnet"
}'

Delegator Rewards by Address

Pending delegation rewards for a specific address (replace address).

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT delegator, validator, reward, commission_bps, snapshot_time, block_number FROM hyperliquid_delegator_rewards WHERE delegator = lower('0xYOUR_ADDRESS_HERE') AND block_number = (SELECT max(block_number) FROM hyperliquid_delegator_rewards) ORDER BY toFloat64(reward) DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Validator Commission History

Track commission rates over time for a validator.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT block_number, snapshot_time, commission_bps, count() AS delegator_count, sum(reward) AS total_pending_rewards FROM hyperliquid_delegator_rewards WHERE validator = lower('0xYOUR_VALIDATOR_HERE') GROUP BY block_number, snapshot_time, commission_bps ORDER BY block_number DESC LIMIT 50",
"clusterId": "hyperliquid-core-mainnet"
}'

Builders Query

Query frontend application activity and builder fee distribution metrics.

Builder Activity (24h)

Builder (frontend) transaction volume.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT b.builder, l.builder_name, count() AS tx_count, sum(toFloat64(b.builder_fee)) AS total_fees, uniqExact(b.user) AS unique_users FROM hyperliquid_builder_transactions b LEFT JOIN hyperliquid_builder_labels l ON b.builder = l.builder_address WHERE b.block_time > now() - INTERVAL 24 HOUR GROUP BY b.builder, l.builder_name ORDER BY total_fees DESC LIMIT 50",
"clusterId": "hyperliquid-core-mainnet"
}'

Builder Fill Volume (24h)

Trading volume routed through builder apps (Phantom, Based, etc.).

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT builder_address, count() AS fills, sum(toFloat64(price) * toFloat64(size)) AS volume_usd, sum(toFloat64(builder_fee)) AS total_builder_fees, uniqExact(user) AS unique_users FROM hyperliquid_builder_fills WHERE block_time > now() - INTERVAL 24 HOUR GROUP BY builder_address ORDER BY volume_usd DESC LIMIT 50",
"clusterId": "hyperliquid-core-mainnet"
}'

Analytics Queries

Access pre-aggregated analytics data for funding rates, liquidations, OHLCV, and platform-wide metrics.

Funding Rate Summary (Hourly)

Pre-aggregated hourly funding rates by coin.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT coin, hour, avg_funding_rate, total_funding, unique_users FROM hyperliquid_funding_summary_hourly WHERE hour > now() - INTERVAL 24 HOUR ORDER BY hour DESC, abs(toFloat64(avg_funding_rate)) DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Hourly Liquidation Stats

Pre-aggregated hourly liquidation counts and volume by coin.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT hour, coin, liquidation_count, liquidated_volume, unique_liquidated_users FROM hyperliquid_liquidations_hourly ORDER BY hour DESC, toFloat64(liquidated_volume) DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Hourly OHLCV

Pre-aggregated hourly candlestick data per coin.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT coin, hour, volume, trade_count, high, low, open, close FROM hyperliquid_market_volume_hourly WHERE hour > now() - INTERVAL 24 HOUR AND coin = 'BTC' ORDER BY hour DESC",
"clusterId": "hyperliquid-core-mainnet"
}'

Daily Per-Coin Metrics

Volume, fills, traders, fees, and liquidations per coin per day.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT day, coin, volume_usd, fill_count, unique_traders, fees, liquidations, high_price, low_price FROM hyperliquid_metrics_dex_overview ORDER BY day DESC, volume_usd DESC LIMIT 100",
"clusterId": "hyperliquid-core-mainnet"
}'

Platform Daily Overview

Platform-wide daily volume, fills, traders, and fees.

curl -X POST 'https://api.quicknode.com/sql/rest/v1/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"query": "SELECT day, total_volume_usd, total_fills, active_traders, total_fees, liquidation_count, liquidation_volume_usd, coins_traded, total_builder_fees, builder_fill_count FROM hyperliquid_metrics_overview ORDER BY day DESC LIMIT 30",
"clusterId": "hyperliquid-core-mainnet"
}'

Additional Resources

For more information on using the SQL Explorer REST API:

We ❤️ Feedback!

If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!

Share this doc