Overview
This page provides a complete schema reference for all tables available in SQL Explorer. Each table includes column names, data types, sort keys, and partition strategies.
Hyperliquid (HyperCore)
SQL Explorer provides comprehensive coverage of Hyperliquid HyperCore with billions of rows of indexed data across multiple tables.
Cluster ID: hyperliquid-core-mainnet
Use this cluster ID when making API requests to query Hyperliquid data via the REST API.
How to Use This Reference
- Sort Keys (⚡): Columns marked as sort keys are indexed for fast queries. Include these in WHERE clauses for best performance.
- Partition Strategy: Tables are partitioned by time (usually
toYYYYMM(block_time)). Filter on time ranges to scan fewer partitions. - Column Types: Data types are shown exactly as stored (e.g.,
UInt64,Decimal(38, 18),DateTime64(6, 'UTC')).
▶ Complete Schema for All Tables (Click to expand)
Detailed schema for all Hyperliquid tables including column names, data types, sort keys (⚡), and partition strategies.
hyperliquid_agents
Sort Keys: ⚡ block_number, agent | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| agent | FixedString(42) | Yes |
| user | FixedString(42) | No |
| name | String | No |
| valid_until | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_asset_transfers
Sort Keys: ⚡ block_number, tx_hash, user | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| time | DateTime64(6, 'UTC') | No |
| tx_hash | FixedString(66) | Yes |
| transfer_type | LowCardinality(String) | No |
| user | FixedString(42) | Yes |
| destination | Nullable(FixedString(42)) | No |
| token | Nullable(String) | No |
| amount | Nullable(Decimal(38, 18)) | No |
| usdc_amount | Nullable(Decimal(38, 18)) | No |
| fee | Nullable(Decimal(38, 18)) | No |
| nonce | Nullable(UInt64) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_blocks
Sort Keys: ⚡ block_number | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| fills_count | UInt32 | No |
| orders_count | UInt32 | No |
| misc_events_count | UInt32 | No |
| book_diffs_count | UInt32 | No |
| twap_statuses_count | UInt32 | No |
| writer_actions_count | UInt32 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_bridge
Sort Keys: ⚡ block_number, bridge_type, user, nonce, eth_block_number, tx_hash | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| bridge_type | LowCardinality(String) | Yes |
| user | FixedString(42) | Yes |
| amount_wei | UInt64 | No |
| eth_block_number | UInt64 | Yes |
| tx_hash | String | Yes |
| nonce | UInt64 | Yes |
| event_time | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_builder_fills
Sort Keys: ⚡ builder_address, timestamp, tid | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | No |
| block_time | DateTime64(6, 'UTC') | No |
| timestamp | DateTime64(3, 'UTC') | Yes |
| created_at | DateTime64(6, 'UTC') | No |
| updated_at | DateTime64(6, 'UTC') | No |
| builder_address | Nullable(FixedString(42)) | Yes |
| builder_fee | Nullable(Decimal(38, 18)) | No |
| user | FixedString(42) | No |
| closed_pnl | Decimal(38, 18) | No |
| coin | LowCardinality(String) | No |
| crossed | UInt8 | No |
| price | Decimal(38, 18) | No |
| side | Enum8('B' = 1, 'A' = 2) | No |
| size | Decimal(38, 18) | No |
| twap_id | Nullable(UInt64) | No |
| dir | LowCardinality(String) | No |
| fee | Decimal(38, 18) | No |
| start_position | Decimal(38, 18) | No |
| cloid | Nullable(String) | No |
| is_liquidation | UInt8 | No |
| liquidated_user | Nullable(FixedString(42)) | No |
| liquidation_mark_price | Nullable(Decimal(38, 18)) | No |
| liquidation_method | Nullable(String) | No |
| tid | UInt64 | Yes |
| oid | UInt64 | No |
| hash | FixedString(66) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_builder_labels
Sort Keys: ⚡ builder_address | Partition: none
| Column | Type | Sort Key |
|---|---|---|
| builder_address | String | Yes |
| builder_name | String | No |
| builder_category | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_builder_transactions
Sort Keys: ⚡ block_number, hash, user | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| hash | String | Yes |
| user | String | Yes |
| builder | String | No |
| builder_fee | Nullable(Decimal(38, 18)) | No |
| action_type | LowCardinality(String) | No |
| coin | Nullable(String) | No |
| is_success | UInt8 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_clearinghouse_states
Sort Keys: ⚡ block_number, clearinghouse, user, asset_idx | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| clearinghouse | UInt8 | Yes |
| user | FixedString(42) | Yes |
| asset_idx | UInt16 | Yes |
| coin | LowCardinality(String) | No |
| size | Int64 | No |
| entry_notional | UInt64 | No |
| margin | UInt64 | No |
| funding_alltime | Int64 | No |
| funding_since_open | Int64 | No |
| funding_since_change | Int64 | No |
| usdc_balance | Int64 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_delegator_rewards
Sort Keys: ⚡ block_number, validator, delegator | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| validator | FixedString(42) | Yes |
| delegator | FixedString(42) | Yes |
| c | UInt64 | No |
| m | UInt64 | No |
| reward_wei | UInt64 | No |
| reward | Decimal(38, 8) | No |
| validator_total_delegated | UInt64 | No |
| commission_bps | UInt16 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
| source | LowCardinality(String) | No |
| reward_timestamp | DateTime64(6, 'UTC') | No |
hyperliquid_dex_trades
Sort Keys: ⚡ none | Partition: none
| Column | Type | Sort Key |
|---|---|---|
| coin | LowCardinality(String) | No |
| market_type | String | No |
| price | Decimal(38, 18) | No |
| size | Decimal(38, 18) | No |
| usd_amount | Decimal(38, 36) | No |
| side | Enum8('B' = 1, 'A' = 2) | No |
| buyer_address | FixedString(42) | No |
| seller_address | FixedString(42) | No |
| trade_id | UInt64 | No |
| timestamp | DateTime64(3, 'UTC') | No |
| transaction_hash | FixedString(66) | No |
| block_number | UInt64 | No |
| block_time | DateTime64(6, 'UTC') | No |
| buyer_order_id | UInt64 | No |
| seller_order_id | UInt64 | No |
| buyer_fee | Decimal(38, 18) | No |
| seller_fee | Decimal(38, 18) | No |
| fee_token | LowCardinality(String) | No |
| buyer_closed_pnl | Decimal(38, 18) | No |
| seller_closed_pnl | Decimal(38, 18) | No |
| buyer_start_position | Decimal(38, 18) | No |
| seller_start_position | Decimal(38, 18) | No |
| buyer_crossed | UInt8 | No |
| seller_crossed | UInt8 | No |
| buyer_dir | LowCardinality(String) | No |
| seller_dir | LowCardinality(String) | No |
| buyer_twap_id | Nullable(UInt64) | No |
| seller_twap_id | Nullable(UInt64) | No |
| buyer_builder_address | Nullable(FixedString(42)) | No |
| seller_builder_address | Nullable(FixedString(42)) | No |
| buyer_builder_fee | Nullable(Decimal(38, 18)) | No |
| seller_builder_fee | Nullable(Decimal(38, 18)) | No |
| total_builder_fee | Nullable(Decimal(38, 18)) | No |
| liquidated_user | Nullable(FixedString(42)) | No |
| liquidation_mark_price | Nullable(Decimal(38, 18)) | No |
| liquidation_method | Nullable(String) | No |
| unique_id | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_display_names
Sort Keys: ⚡ block_number, user | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| user | FixedString(42) | Yes |
| display_name | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_fills
Sort Keys: ⚡ block_number, tid, user | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| user | FixedString(42) | Yes |
| tid | UInt64 | Yes |
| oid | UInt64 | No |
| coin | LowCardinality(String) | No |
| side | Enum8('B' = 1, 'A' = 2) | No |
| price | Decimal(38, 18) | No |
| size | Decimal(38, 18) | No |
| time | DateTime64(3, 'UTC') | No |
| dir | LowCardinality(String) | No |
| crossed | UInt8 | No |
| fee | Decimal(38, 18) | No |
| fee_token | LowCardinality(String) | No |
| closed_pnl | Decimal(38, 18) | No |
| start_position | Decimal(38, 18) | No |
| hash | FixedString(66) | No |
| twap_id | Nullable(UInt64) | No |
| builder | Nullable(FixedString(42)) | No |
| builder_fee | Nullable(Decimal(38, 18)) | No |
| cloid | Nullable(String) | No |
| is_liquidation | UInt8 | No |
| liquidated_user | Nullable(FixedString(42)) | No |
| liquidation_mark_price | Nullable(Decimal(38, 18)) | No |
| liquidation_method | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_funding
Sort Keys: ⚡ block_number, user, coin, time | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| time | DateTime64(6, 'UTC') | Yes |
| hash | FixedString(66) | No |
| user | FixedString(42) | Yes |
| coin | LowCardinality(String) | Yes |
| funding_amount | Decimal(38, 18) | No |
| funding_rate | Decimal(38, 18) | No |
| szi | Decimal(38, 18) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_funding_summary_hourly
Sort Keys: ⚡ coin, hour | Partition: toYYYYMM(hour)
| Column | Type | Sort Key |
|---|---|---|
| coin | LowCardinality(String) | Yes |
| hour | DateTime('UTC') | Yes |
| avg_funding_rate | Float64 | No |
| total_funding | Decimal(38, 18) | No |
| unique_users | UInt64 | No |
hyperliquid_ledger_updates
Sort Keys: ⚡ block_number, user, time, hash | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| time | DateTime64(6, 'UTC') | Yes |
| hash | FixedString(66) | Yes |
| delta_type | LowCardinality(String) | No |
| user | FixedString(42) | Yes |
| usdc_amount | Nullable(Decimal(38, 18)) | No |
| token | Nullable(String) | No |
| amount | Nullable(Decimal(38, 18)) | No |
| destination | Nullable(FixedString(42)) | No |
| fee | Nullable(Decimal(38, 18)) | No |
| fee_token | Nullable(String) | No |
| native_token_fee | Nullable(Decimal(38, 18)) | No |
| nonce | Nullable(UInt64) | No |
| usdc_value | Nullable(Decimal(38, 18)) | No |
| source_dex | Nullable(String) | No |
| destination_dex | Nullable(String) | No |
| account_value | Nullable(Decimal(38, 18)) | No |
| leverage_type | Nullable(String) | No |
| liquidated_ntl_pos | Nullable(Decimal(38, 18)) | No |
| liquidated_positions | Nullable(String) | No |
| vault | Nullable(FixedString(42)) | No |
| requested_usd | Nullable(Decimal(38, 18)) | No |
| net_withdrawn_usd | Nullable(Decimal(38, 18)) | No |
| basis | Nullable(Decimal(38, 18)) | No |
| closing_cost | Nullable(Decimal(38, 18)) | No |
| commission | Nullable(Decimal(38, 18)) | No |
| to_perp | Nullable(UInt8) | No |
| is_deposit | Nullable(UInt8) | No |
| operation | Nullable(String) | No |
| interest_amount | Nullable(Decimal(38, 18)) | No |
| dex | Nullable(String) | No |
| secondary_user | Nullable(FixedString(42)) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_liquidations_hourly
Sort Keys: ⚡ hour, coin | Partition: toYYYYMM(hour)
| Column | Type | Sort Key |
|---|---|---|
| hour | DateTime | Yes |
| coin | LowCardinality(String) | Yes |
| liquidation_count | UInt64 | No |
| liquidated_volume | Decimal(38, 36) | No |
| unique_liquidated_users | UInt64 | No |
hyperliquid_market_volume_hourly
Sort Keys: ⚡ coin, hour | Partition: toYYYYMM(hour)
| Column | Type | Sort Key |
|---|---|---|
| coin | LowCardinality(String) | Yes |
| hour | DateTime('UTC') | Yes |
| volume | Decimal(38, 36) | No |
| trade_count | UInt64 | No |
| high | Decimal(38, 18) | No |
| low | Decimal(38, 18) | No |
| open | Decimal(38, 18) | No |
| close | Decimal(38, 18) | No |
hyperliquid_metrics_dex_overview
Sort Keys: ⚡ day, coin | Partition: toYYYYMM(day)
| Column | Type | Sort Key |
|---|---|---|
| day | Date | Yes |
| coin | LowCardinality(String) | Yes |
| volume_usd | Decimal(38, 36) | No |
| fill_count | UInt64 | No |
| unique_traders | UInt64 | No |
| fees | Decimal(38, 18) | No |
| liquidations | UInt64 | No |
| high_price | Decimal(38, 18) | No |
| low_price | Decimal(38, 18) | No |
hyperliquid_metrics_overview
Sort Keys: ⚡ day | Partition: toYYYYMM(day)
| Column | Type | Sort Key |
|---|---|---|
| day | Date | Yes |
| total_volume_usd | Decimal(38, 36) | No |
| total_fills | UInt64 | No |
| active_traders | UInt64 | No |
| total_fees | Decimal(38, 18) | No |
| liquidation_count | UInt64 | No |
| liquidation_volume_usd | Decimal(38, 36) | No |
| coins_traded | UInt64 | No |
| total_builder_fees | Nullable(Decimal(38, 18)) | No |
| builder_fill_count | UInt64 | No |
hyperliquid_oracle_prices
Sort Keys: ⚡ block_number, clearinghouse, asset_idx | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| clearinghouse | UInt8 | Yes |
| asset_idx | UInt16 | Yes |
| coin | LowCardinality(String) | No |
| mark_px | String | No |
| daily_px | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_order_book_diffs
Sort Keys: ⚡ coin, side, block_number, oid | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| user | FixedString(42) | No |
| oid | UInt64 | Yes |
| coin | LowCardinality(String) | Yes |
| side | Enum8('B' = 1, 'A' = 2) | Yes |
| price | Decimal(38, 18) | No |
| diff_type | LowCardinality(String) | No |
| size | Nullable(Decimal(38, 18)) | No |
| orig_size | Nullable(Decimal(38, 18)) | No |
| new_size | Nullable(Decimal(38, 18)) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_orders
Sort Keys: ⚡ block_number, oid, status_time | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| oid | UInt64 | Yes |
| user | FixedString(42) | No |
| coin | LowCardinality(String) | No |
| side | Enum8('B' = 1, 'A' = 2) | No |
| status | LowCardinality(String) | No |
| order_type | LowCardinality(String) | No |
| limit_price | Decimal(38, 18) | No |
| size | Decimal(38, 18) | No |
| orig_size | Decimal(38, 18) | No |
| tif | LowCardinality(String) | No |
| is_trigger | UInt8 | No |
| trigger_price | Nullable(Decimal(38, 18)) | No |
| trigger_condition | Nullable(String) | No |
| reduce_only | UInt8 | No |
| is_position_tpsl | UInt8 | No |
| children | Nullable(String) | No |
| cloid | Nullable(String) | No |
| hash | Nullable(FixedString(66)) | No |
| builder | Nullable(String) | No |
| order_timestamp | DateTime64(3, 'UTC') | No |
| status_time | DateTime64(6, 'UTC') | Yes |
| unique_id | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_perpetual_market_contexts
Sort Keys: ⚡ coin, polled_at | Partition: toYYYYMM(polled_at)
| Column | Type | Sort Key |
|---|---|---|
| polled_at | DateTime64(3, 'UTC') | Yes |
| coin | LowCardinality(String) | Yes |
| funding | Decimal(38, 18) | No |
| open_interest | Decimal(38, 18) | No |
| day_ntl_vlm | Decimal(38, 18) | No |
| day_base_vlm | Decimal(38, 18) | No |
| premium | Decimal(38, 18) | No |
| oracle_px | Decimal(38, 18) | No |
| mark_px | Decimal(38, 18) | No |
| mid_px | Decimal(38, 18) | No |
| prev_day_px | Decimal(38, 18) | No |
| impact_bid | Nullable(Decimal(38, 18)) | No |
| impact_ask | Nullable(Decimal(38, 18)) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_perpetual_markets
Sort Keys: ⚡ coin | Partition: none
| Column | Type | Sort Key |
|---|---|---|
| market_index | UInt16 | No |
| coin | LowCardinality(String) | Yes |
| max_leverage | UInt16 | No |
| sz_decimals | UInt8 | No |
| margin_table_id | Nullable(UInt16) | No |
| only_isolated | UInt8 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_register_referral
Sort Keys: ⚡ referral_code, user | Partition: none
| Column | Type | Sort Key |
|---|---|---|
| round | UInt64 | No |
| block_time | DateTime64(6, 'UTC') | No |
| tx_hash | String | No |
| user | String | Yes |
| referral_code | String | Yes |
| is_success | UInt8 | No |
| error | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_set_referrer
Sort Keys: ⚡ referral_code, user | Partition: none
| Column | Type | Sort Key |
|---|---|---|
| round | UInt64 | No |
| block_time | DateTime64(6, 'UTC') | No |
| tx_hash | String | No |
| user | String | Yes |
| referral_code | String | Yes |
| is_success | UInt8 | No |
| error | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_spot_clearinghouse_states
Sort Keys: ⚡ block_number, user, token_idx | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| user | FixedString(42) | Yes |
| token_idx | UInt16 | Yes |
| token | LowCardinality(String) | No |
| total | Int64 | No |
| escrowed | Int64 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_spot_markets
Sort Keys: ⚡ token_index | Partition: none
| Column | Type | Sort Key |
|---|---|---|
| token_index | UInt16 | Yes |
| token | LowCardinality(String) | No |
| token_id | String | No |
| sz_decimals | UInt8 | No |
| wei_decimals | UInt8 | No |
| is_canonical | UInt8 | No |
| evm_contract | Nullable(String) | No |
| full_name | Nullable(String) | No |
| deployer_trading_fee_share | Nullable(String) | No |
| pair_index | Nullable(UInt16) | No |
| pair_name | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_staking_events
Sort Keys: ⚡ block_number, hash | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| time | DateTime64(6, 'UTC') | No |
| hash | FixedString(66) | Yes |
| event_type | Enum8('CDeposit' = 1, 'CWithdrawal' = 2, 'Delegation' = 3) | No |
| user | FixedString(42) | No |
| amount | Decimal(38, 18) | No |
| is_finalized | Nullable(UInt8) | No |
| validator | Nullable(FixedString(42)) | No |
| is_undelegate | Nullable(UInt8) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_sub_accounts
Sort Keys: ⚡ block_number, sub_account | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| sub_account | FixedString(42) | Yes |
| master_account | FixedString(42) | No |
| name | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_summaries
Sort Keys: ⚡ user, polled_at | Partition: toYYYYMM(polled_at)
| Column | Type | Sort Key |
|---|---|---|
| polled_at | DateTime64(3, 'UTC') | Yes |
| user | String | Yes |
| cross_maintenance_margin_used | Decimal(38, 18) | No |
| cross_margin_account_value | Decimal(38, 18) | No |
| cross_margin_total_margin_used | Decimal(38, 18) | No |
| cross_margin_total_natl_pos | Decimal(38, 18) | No |
| cross_margin_total_raw_usd | Decimal(38, 18) | No |
| margin_account_value | Decimal(38, 18) | No |
| margin_total_margin_used | Decimal(38, 18) | No |
| margin_total_natl_pos | Decimal(38, 18) | No |
| margin_total_raw_usd | Decimal(38, 18) | No |
| withdrawable | Decimal(38, 18) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_system_actions
Sort Keys: ⚡ block_number, evm_tx_hash, nonce | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| user | FixedString(42) | No |
| nonce | UInt64 | Yes |
| evm_tx_hash | FixedString(66) | Yes |
| action_type | LowCardinality(String) | No |
| action | String | No |
| destination | Nullable(FixedString(42)) | No |
| token | Nullable(UInt16) | No |
| wei | Nullable(UInt256) | No |
| from_sub_account | Nullable(UInt8) | No |
| source_dex_or_spot | Nullable(UInt8) | No |
| destination_dex_or_spot | Nullable(UInt8) | No |
| validator | Nullable(FixedString(42)) | No |
| is_undelegate | Nullable(UInt8) | No |
| signature_chain_id | Nullable(String) | No |
| hyperliquid_chain | Nullable(String) | No |
| ntl | Nullable(Decimal(38, 18)) | No |
| to_perp | Nullable(UInt8) | No |
| order_grouping | Nullable(String) | No |
| agent_address | Nullable(FixedString(42)) | No |
| agent_name | Nullable(String) | No |
| is_mint | Nullable(UInt8) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_trades
Sort Keys: ⚡ block_number, trade_id | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| trade_id | UInt64 | Yes |
| coin | LowCardinality(String) | No |
| timestamp | DateTime64(3, 'UTC') | No |
| transaction_hash | FixedString(66) | No |
| price | Decimal(38, 18) | No |
| size | Decimal(38, 18) | No |
| side | Enum8('B' = 1, 'A' = 2) | No |
| buyer_address | FixedString(42) | No |
| buyer_order_id | UInt64 | No |
| buyer_fee | Decimal(38, 18) | No |
| buyer_closed_pnl | Decimal(38, 18) | No |
| buyer_start_position | Decimal(38, 18) | No |
| buyer_crossed | UInt8 | No |
| buyer_dir | LowCardinality(String) | No |
| buyer_twap_id | Nullable(UInt64) | No |
| buyer_builder_address | Nullable(FixedString(42)) | No |
| buyer_builder_fee | Nullable(Decimal(38, 18)) | No |
| seller_address | FixedString(42) | No |
| seller_order_id | UInt64 | No |
| seller_fee | Decimal(38, 18) | No |
| seller_closed_pnl | Decimal(38, 18) | No |
| seller_start_position | Decimal(38, 18) | No |
| seller_crossed | UInt8 | No |
| seller_dir | LowCardinality(String) | No |
| seller_twap_id | Nullable(UInt64) | No |
| seller_builder_address | Nullable(FixedString(42)) | No |
| seller_builder_fee | Nullable(Decimal(38, 18)) | No |
| fee_token | LowCardinality(String) | No |
| total_builder_fee | Nullable(Decimal(38, 18)) | No |
| liquidated_user | Nullable(FixedString(42)) | No |
| liquidation_mark_price | Nullable(Decimal(38, 18)) | No |
| liquidation_method | Nullable(String) | No |
| unique_id | String | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_transactions
Sort Keys: ⚡ round, tx_hash, nonce | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| round | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| proposer | Nullable(String) | No |
| tx_hash | String | Yes |
| user | Nullable(String) | No |
| action_type | LowCardinality(String) | No |
| action | JSON | No |
| error | Nullable(String) | No |
| is_success | UInt8 | No |
| nonce | UInt64 | Yes |
| vault_address | Nullable(String) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_twap_statuses
Sort Keys: ⚡ block_number, twap_id, time | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| time | DateTime64(6, 'UTC') | Yes |
| twap_id | UInt64 | Yes |
| status | LowCardinality(String) | No |
| user | FixedString(42) | No |
| coin | LowCardinality(String) | No |
| side | Enum8('B' = 1, 'A' = 2) | No |
| size | Decimal(38, 18) | No |
| executed_size | Decimal(38, 18) | No |
| executed_ntl | Decimal(38, 18) | No |
| minutes | UInt16 | No |
| randomize | UInt8 | No |
| reduce_only | UInt8 | No |
| timestamp | DateTime64(3, 'UTC') | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_validator_rewards
Sort Keys: ⚡ block_number, validator, time | Partition: toYYYYMM(block_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| block_time | DateTime64(6, 'UTC') | No |
| time | DateTime64(6, 'UTC') | Yes |
| hash | FixedString(66) | No |
| validator | FixedString(42) | Yes |
| reward | Decimal(38, 18) | No |
| indexed_at | DateTime64(3, 'UTC') | No |
hyperliquid_vault_equities
Sort Keys: ⚡ block_number, vault_address, depositor | Partition: toYYYYMM(snapshot_time)
| Column | Type | Sort Key |
|---|---|---|
| block_number | UInt64 | Yes |
| snapshot_time | DateTime64(6, 'UTC') | No |
| vault_address | FixedString(42) | Yes |
| vault_name | String | No |
| leader | FixedString(42) | No |
| depositor | FixedString(42) | Yes |
| ownership_fraction | Float64 | No |
| net_deposits | Int64 | No |
| leader_commission | Float64 | No |
| indexed_at | DateTime64(3, 'UTC') | No |
All tables are optimized with sort keys (marked ⚡ in the schema browser) and partition monthly by toYYYYMM(block_time) for efficient time-bounded queries. Data ingestion is near real-time with queries scanning across billions of rows in seconds.
Accessing the Schema
The schema can be accessed as static downloadable files or via the API endpoint.
Downloadable Files
These files are updated periodically:
- JSON Format: hyperliquid_schema.json - Complete schema with all tables and columns
- Plain Text Format: hyperliquid_schema.txt - Formatted for LLM context windows
Schema API
Fetch the current schema with real-time row counts and latest table structures. See the REST API Overview for API authentication details.
Request (Hyperliquid):
curl https://api.quicknode.com/sql/rest/v1/schema/hyperliquid-core-mainnet \
-H "x-api-key: YOUR_API_KEY"
Replace hyperliquid-core-mainnet with the appropriate cluster ID for other supported chains.
Example Response:
[
{
"chain": "Hyperliquid (HyperCore)",
"clusterId": "hyperliquid-core-mainnet",
"tables": [
{
"name": "hyperliquid_agents",
"engine": "SharedReplacingMergeTree",
"totalRows": 55686595,
"sortingKey": ["block_number", "agent"],
"partitionKey": "toYYYYMM(snapshot_time)",
"columns": [
{
"name": "block_number",
"type": "UInt64"
},
{
"name": "snapshot_time",
"type": "DateTime64(6, 'UTC')"
},
{
"name": "agent",
"type": "FixedString(42)"
}
// ... more columns
]
}
// ... more tables
]
}
]
The response includes table names, engines, column names and data types, sort keys for optimization, partition strategies, and current row counts.
For AI Agents & LLMs
This schema is specifically formatted for programmatic consumption.
Quicknode Skill
For AI agents and LLM applications, install the Quicknode Skill to give your agent full knowledge of SQL Explorer and all Quicknode products:
npx skills add quiknode-labs/blockchain-skills
Using Schema in Your Agent
When building custom AI agents or LLM applications:
- Fetch the schema via the API endpoint above or download the plain text schema optimized for LLM context windows
- Include it in your prompt context when generating SQL queries
- Reference sort keys for optimal query performance
- Use partition keys to limit data scans
Example prompts for AI agents:
Example 1: Generate a SQL query to find the top 10 traders by volume in the last 24 hours.
Schema: [include JSON from schema API or plain text schema file]
Example 2: Create a query to analyze funding rate changes for the BTC perpetual market over the past week, grouped by hour.
Schema: [include JSON from schema API or plain text schema file]
Example 3: Write a SQL query to identify liquidation events larger than $100K in the last 30 days, showing the user, asset, and liquidation size.
Schema: [include JSON from schema API or plain text schema file]
We ❤️ Feedback!
If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!