Skip to main content

Schema Reference

Updated on
Mar 31, 2026

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)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
agentFixedString(42)Yes
userFixedString(42)No
nameStringNo
valid_untilStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_asset_transfers

Sort Keys: block_number, tx_hash, user | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
timeDateTime64(6, 'UTC')No
tx_hashFixedString(66)Yes
transfer_typeLowCardinality(String)No
userFixedString(42)Yes
destinationNullable(FixedString(42))No
tokenNullable(String)No
amountNullable(Decimal(38, 18))No
usdc_amountNullable(Decimal(38, 18))No
feeNullable(Decimal(38, 18))No
nonceNullable(UInt64)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_blocks

Sort Keys: block_number | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
fills_countUInt32No
orders_countUInt32No
misc_events_countUInt32No
book_diffs_countUInt32No
twap_statuses_countUInt32No
writer_actions_countUInt32No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_bridge

Sort Keys: block_number, bridge_type, user, nonce, eth_block_number, tx_hash | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
bridge_typeLowCardinality(String)Yes
userFixedString(42)Yes
amount_weiUInt64No
eth_block_numberUInt64Yes
tx_hashStringYes
nonceUInt64Yes
event_timeStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_builder_fills

Sort Keys: builder_address, timestamp, tid | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64No
block_timeDateTime64(6, 'UTC')No
timestampDateTime64(3, 'UTC')Yes
created_atDateTime64(6, 'UTC')No
updated_atDateTime64(6, 'UTC')No
builder_addressNullable(FixedString(42))Yes
builder_feeNullable(Decimal(38, 18))No
userFixedString(42)No
closed_pnlDecimal(38, 18)No
coinLowCardinality(String)No
crossedUInt8No
priceDecimal(38, 18)No
sideEnum8('B' = 1, 'A' = 2)No
sizeDecimal(38, 18)No
twap_idNullable(UInt64)No
dirLowCardinality(String)No
feeDecimal(38, 18)No
start_positionDecimal(38, 18)No
cloidNullable(String)No
is_liquidationUInt8No
liquidated_userNullable(FixedString(42))No
liquidation_mark_priceNullable(Decimal(38, 18))No
liquidation_methodNullable(String)No
tidUInt64Yes
oidUInt64No
hashFixedString(66)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_builder_labels

Sort Keys: builder_address | Partition: none

ColumnTypeSort Key
builder_addressStringYes
builder_nameStringNo
builder_categoryNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_builder_transactions

Sort Keys: block_number, hash, user | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
hashStringYes
userStringYes
builderStringNo
builder_feeNullable(Decimal(38, 18))No
action_typeLowCardinality(String)No
coinNullable(String)No
is_successUInt8No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_clearinghouse_states

Sort Keys: block_number, clearinghouse, user, asset_idx | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
clearinghouseUInt8Yes
userFixedString(42)Yes
asset_idxUInt16Yes
coinLowCardinality(String)No
sizeInt64No
entry_notionalUInt64No
marginUInt64No
funding_alltimeInt64No
funding_since_openInt64No
funding_since_changeInt64No
usdc_balanceInt64No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_delegator_rewards

Sort Keys: block_number, validator, delegator | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
validatorFixedString(42)Yes
delegatorFixedString(42)Yes
cUInt64No
mUInt64No
reward_weiUInt64No
rewardDecimal(38, 8)No
validator_total_delegatedUInt64No
commission_bpsUInt16No
indexed_atDateTime64(3, 'UTC')No
sourceLowCardinality(String)No
reward_timestampDateTime64(6, 'UTC')No

hyperliquid_dex_trades

Sort Keys: none | Partition: none

ColumnTypeSort Key
coinLowCardinality(String)No
market_typeStringNo
priceDecimal(38, 18)No
sizeDecimal(38, 18)No
usd_amountDecimal(38, 36)No
sideEnum8('B' = 1, 'A' = 2)No
buyer_addressFixedString(42)No
seller_addressFixedString(42)No
trade_idUInt64No
timestampDateTime64(3, 'UTC')No
transaction_hashFixedString(66)No
block_numberUInt64No
block_timeDateTime64(6, 'UTC')No
buyer_order_idUInt64No
seller_order_idUInt64No
buyer_feeDecimal(38, 18)No
seller_feeDecimal(38, 18)No
fee_tokenLowCardinality(String)No
buyer_closed_pnlDecimal(38, 18)No
seller_closed_pnlDecimal(38, 18)No
buyer_start_positionDecimal(38, 18)No
seller_start_positionDecimal(38, 18)No
buyer_crossedUInt8No
seller_crossedUInt8No
buyer_dirLowCardinality(String)No
seller_dirLowCardinality(String)No
buyer_twap_idNullable(UInt64)No
seller_twap_idNullable(UInt64)No
buyer_builder_addressNullable(FixedString(42))No
seller_builder_addressNullable(FixedString(42))No
buyer_builder_feeNullable(Decimal(38, 18))No
seller_builder_feeNullable(Decimal(38, 18))No
total_builder_feeNullable(Decimal(38, 18))No
liquidated_userNullable(FixedString(42))No
liquidation_mark_priceNullable(Decimal(38, 18))No
liquidation_methodNullable(String)No
unique_idStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_display_names

Sort Keys: block_number, user | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
userFixedString(42)Yes
display_nameStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_fills

Sort Keys: block_number, tid, user | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
userFixedString(42)Yes
tidUInt64Yes
oidUInt64No
coinLowCardinality(String)No
sideEnum8('B' = 1, 'A' = 2)No
priceDecimal(38, 18)No
sizeDecimal(38, 18)No
timeDateTime64(3, 'UTC')No
dirLowCardinality(String)No
crossedUInt8No
feeDecimal(38, 18)No
fee_tokenLowCardinality(String)No
closed_pnlDecimal(38, 18)No
start_positionDecimal(38, 18)No
hashFixedString(66)No
twap_idNullable(UInt64)No
builderNullable(FixedString(42))No
builder_feeNullable(Decimal(38, 18))No
cloidNullable(String)No
is_liquidationUInt8No
liquidated_userNullable(FixedString(42))No
liquidation_mark_priceNullable(Decimal(38, 18))No
liquidation_methodNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_funding

Sort Keys: block_number, user, coin, time | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
timeDateTime64(6, 'UTC')Yes
hashFixedString(66)No
userFixedString(42)Yes
coinLowCardinality(String)Yes
funding_amountDecimal(38, 18)No
funding_rateDecimal(38, 18)No
sziDecimal(38, 18)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_funding_summary_hourly

Sort Keys: coin, hour | Partition: toYYYYMM(hour)

ColumnTypeSort Key
coinLowCardinality(String)Yes
hourDateTime('UTC')Yes
avg_funding_rateFloat64No
total_fundingDecimal(38, 18)No
unique_usersUInt64No

hyperliquid_ledger_updates

Sort Keys: block_number, user, time, hash | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
timeDateTime64(6, 'UTC')Yes
hashFixedString(66)Yes
delta_typeLowCardinality(String)No
userFixedString(42)Yes
usdc_amountNullable(Decimal(38, 18))No
tokenNullable(String)No
amountNullable(Decimal(38, 18))No
destinationNullable(FixedString(42))No
feeNullable(Decimal(38, 18))No
fee_tokenNullable(String)No
native_token_feeNullable(Decimal(38, 18))No
nonceNullable(UInt64)No
usdc_valueNullable(Decimal(38, 18))No
source_dexNullable(String)No
destination_dexNullable(String)No
account_valueNullable(Decimal(38, 18))No
leverage_typeNullable(String)No
liquidated_ntl_posNullable(Decimal(38, 18))No
liquidated_positionsNullable(String)No
vaultNullable(FixedString(42))No
requested_usdNullable(Decimal(38, 18))No
net_withdrawn_usdNullable(Decimal(38, 18))No
basisNullable(Decimal(38, 18))No
closing_costNullable(Decimal(38, 18))No
commissionNullable(Decimal(38, 18))No
to_perpNullable(UInt8)No
is_depositNullable(UInt8)No
operationNullable(String)No
interest_amountNullable(Decimal(38, 18))No
dexNullable(String)No
secondary_userNullable(FixedString(42))No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_liquidations_hourly

Sort Keys: hour, coin | Partition: toYYYYMM(hour)

ColumnTypeSort Key
hourDateTimeYes
coinLowCardinality(String)Yes
liquidation_countUInt64No
liquidated_volumeDecimal(38, 36)No
unique_liquidated_usersUInt64No

hyperliquid_market_volume_hourly

Sort Keys: coin, hour | Partition: toYYYYMM(hour)

ColumnTypeSort Key
coinLowCardinality(String)Yes
hourDateTime('UTC')Yes
volumeDecimal(38, 36)No
trade_countUInt64No
highDecimal(38, 18)No
lowDecimal(38, 18)No
openDecimal(38, 18)No
closeDecimal(38, 18)No

hyperliquid_metrics_dex_overview

Sort Keys: day, coin | Partition: toYYYYMM(day)

ColumnTypeSort Key
dayDateYes
coinLowCardinality(String)Yes
volume_usdDecimal(38, 36)No
fill_countUInt64No
unique_tradersUInt64No
feesDecimal(38, 18)No
liquidationsUInt64No
high_priceDecimal(38, 18)No
low_priceDecimal(38, 18)No

hyperliquid_metrics_overview

Sort Keys: day | Partition: toYYYYMM(day)

ColumnTypeSort Key
dayDateYes
total_volume_usdDecimal(38, 36)No
total_fillsUInt64No
active_tradersUInt64No
total_feesDecimal(38, 18)No
liquidation_countUInt64No
liquidation_volume_usdDecimal(38, 36)No
coins_tradedUInt64No
total_builder_feesNullable(Decimal(38, 18))No
builder_fill_countUInt64No

hyperliquid_oracle_prices

Sort Keys: block_number, clearinghouse, asset_idx | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
clearinghouseUInt8Yes
asset_idxUInt16Yes
coinLowCardinality(String)No
mark_pxStringNo
daily_pxStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_order_book_diffs

Sort Keys: coin, side, block_number, oid | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
userFixedString(42)No
oidUInt64Yes
coinLowCardinality(String)Yes
sideEnum8('B' = 1, 'A' = 2)Yes
priceDecimal(38, 18)No
diff_typeLowCardinality(String)No
sizeNullable(Decimal(38, 18))No
orig_sizeNullable(Decimal(38, 18))No
new_sizeNullable(Decimal(38, 18))No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_orders

Sort Keys: block_number, oid, status_time | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
oidUInt64Yes
userFixedString(42)No
coinLowCardinality(String)No
sideEnum8('B' = 1, 'A' = 2)No
statusLowCardinality(String)No
order_typeLowCardinality(String)No
limit_priceDecimal(38, 18)No
sizeDecimal(38, 18)No
orig_sizeDecimal(38, 18)No
tifLowCardinality(String)No
is_triggerUInt8No
trigger_priceNullable(Decimal(38, 18))No
trigger_conditionNullable(String)No
reduce_onlyUInt8No
is_position_tpslUInt8No
childrenNullable(String)No
cloidNullable(String)No
hashNullable(FixedString(66))No
builderNullable(String)No
order_timestampDateTime64(3, 'UTC')No
status_timeDateTime64(6, 'UTC')Yes
unique_idStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_perpetual_market_contexts

Sort Keys: coin, polled_at | Partition: toYYYYMM(polled_at)

ColumnTypeSort Key
polled_atDateTime64(3, 'UTC')Yes
coinLowCardinality(String)Yes
fundingDecimal(38, 18)No
open_interestDecimal(38, 18)No
day_ntl_vlmDecimal(38, 18)No
day_base_vlmDecimal(38, 18)No
premiumDecimal(38, 18)No
oracle_pxDecimal(38, 18)No
mark_pxDecimal(38, 18)No
mid_pxDecimal(38, 18)No
prev_day_pxDecimal(38, 18)No
impact_bidNullable(Decimal(38, 18))No
impact_askNullable(Decimal(38, 18))No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_perpetual_markets

Sort Keys: coin | Partition: none

ColumnTypeSort Key
market_indexUInt16No
coinLowCardinality(String)Yes
max_leverageUInt16No
sz_decimalsUInt8No
margin_table_idNullable(UInt16)No
only_isolatedUInt8No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_register_referral

Sort Keys: referral_code, user | Partition: none

ColumnTypeSort Key
roundUInt64No
block_timeDateTime64(6, 'UTC')No
tx_hashStringNo
userStringYes
referral_codeStringYes
is_successUInt8No
errorNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_set_referrer

Sort Keys: referral_code, user | Partition: none

ColumnTypeSort Key
roundUInt64No
block_timeDateTime64(6, 'UTC')No
tx_hashStringNo
userStringYes
referral_codeStringYes
is_successUInt8No
errorNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_spot_clearinghouse_states

Sort Keys: block_number, user, token_idx | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
userFixedString(42)Yes
token_idxUInt16Yes
tokenLowCardinality(String)No
totalInt64No
escrowedInt64No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_spot_markets

Sort Keys: token_index | Partition: none

ColumnTypeSort Key
token_indexUInt16Yes
tokenLowCardinality(String)No
token_idStringNo
sz_decimalsUInt8No
wei_decimalsUInt8No
is_canonicalUInt8No
evm_contractNullable(String)No
full_nameNullable(String)No
deployer_trading_fee_shareNullable(String)No
pair_indexNullable(UInt16)No
pair_nameNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_staking_events

Sort Keys: block_number, hash | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
timeDateTime64(6, 'UTC')No
hashFixedString(66)Yes
event_typeEnum8('CDeposit' = 1, 'CWithdrawal' = 2, 'Delegation' = 3)No
userFixedString(42)No
amountDecimal(38, 18)No
is_finalizedNullable(UInt8)No
validatorNullable(FixedString(42))No
is_undelegateNullable(UInt8)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_sub_accounts

Sort Keys: block_number, sub_account | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
sub_accountFixedString(42)Yes
master_accountFixedString(42)No
nameNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_summaries

Sort Keys: user, polled_at | Partition: toYYYYMM(polled_at)

ColumnTypeSort Key
polled_atDateTime64(3, 'UTC')Yes
userStringYes
cross_maintenance_margin_usedDecimal(38, 18)No
cross_margin_account_valueDecimal(38, 18)No
cross_margin_total_margin_usedDecimal(38, 18)No
cross_margin_total_natl_posDecimal(38, 18)No
cross_margin_total_raw_usdDecimal(38, 18)No
margin_account_valueDecimal(38, 18)No
margin_total_margin_usedDecimal(38, 18)No
margin_total_natl_posDecimal(38, 18)No
margin_total_raw_usdDecimal(38, 18)No
withdrawableDecimal(38, 18)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_system_actions

Sort Keys: block_number, evm_tx_hash, nonce | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
userFixedString(42)No
nonceUInt64Yes
evm_tx_hashFixedString(66)Yes
action_typeLowCardinality(String)No
actionStringNo
destinationNullable(FixedString(42))No
tokenNullable(UInt16)No
weiNullable(UInt256)No
from_sub_accountNullable(UInt8)No
source_dex_or_spotNullable(UInt8)No
destination_dex_or_spotNullable(UInt8)No
validatorNullable(FixedString(42))No
is_undelegateNullable(UInt8)No
signature_chain_idNullable(String)No
hyperliquid_chainNullable(String)No
ntlNullable(Decimal(38, 18))No
to_perpNullable(UInt8)No
order_groupingNullable(String)No
agent_addressNullable(FixedString(42))No
agent_nameNullable(String)No
is_mintNullable(UInt8)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_trades

Sort Keys: block_number, trade_id | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
trade_idUInt64Yes
coinLowCardinality(String)No
timestampDateTime64(3, 'UTC')No
transaction_hashFixedString(66)No
priceDecimal(38, 18)No
sizeDecimal(38, 18)No
sideEnum8('B' = 1, 'A' = 2)No
buyer_addressFixedString(42)No
buyer_order_idUInt64No
buyer_feeDecimal(38, 18)No
buyer_closed_pnlDecimal(38, 18)No
buyer_start_positionDecimal(38, 18)No
buyer_crossedUInt8No
buyer_dirLowCardinality(String)No
buyer_twap_idNullable(UInt64)No
buyer_builder_addressNullable(FixedString(42))No
buyer_builder_feeNullable(Decimal(38, 18))No
seller_addressFixedString(42)No
seller_order_idUInt64No
seller_feeDecimal(38, 18)No
seller_closed_pnlDecimal(38, 18)No
seller_start_positionDecimal(38, 18)No
seller_crossedUInt8No
seller_dirLowCardinality(String)No
seller_twap_idNullable(UInt64)No
seller_builder_addressNullable(FixedString(42))No
seller_builder_feeNullable(Decimal(38, 18))No
fee_tokenLowCardinality(String)No
total_builder_feeNullable(Decimal(38, 18))No
liquidated_userNullable(FixedString(42))No
liquidation_mark_priceNullable(Decimal(38, 18))No
liquidation_methodNullable(String)No
unique_idStringNo
indexed_atDateTime64(3, 'UTC')No

hyperliquid_transactions

Sort Keys: round, tx_hash, nonce | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
roundUInt64Yes
block_timeDateTime64(6, 'UTC')No
proposerNullable(String)No
tx_hashStringYes
userNullable(String)No
action_typeLowCardinality(String)No
actionJSONNo
errorNullable(String)No
is_successUInt8No
nonceUInt64Yes
vault_addressNullable(String)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_twap_statuses

Sort Keys: block_number, twap_id, time | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
timeDateTime64(6, 'UTC')Yes
twap_idUInt64Yes
statusLowCardinality(String)No
userFixedString(42)No
coinLowCardinality(String)No
sideEnum8('B' = 1, 'A' = 2)No
sizeDecimal(38, 18)No
executed_sizeDecimal(38, 18)No
executed_ntlDecimal(38, 18)No
minutesUInt16No
randomizeUInt8No
reduce_onlyUInt8No
timestampDateTime64(3, 'UTC')No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_validator_rewards

Sort Keys: block_number, validator, time | Partition: toYYYYMM(block_time)

ColumnTypeSort Key
block_numberUInt64Yes
block_timeDateTime64(6, 'UTC')No
timeDateTime64(6, 'UTC')Yes
hashFixedString(66)No
validatorFixedString(42)Yes
rewardDecimal(38, 18)No
indexed_atDateTime64(3, 'UTC')No

hyperliquid_vault_equities

Sort Keys: block_number, vault_address, depositor | Partition: toYYYYMM(snapshot_time)

ColumnTypeSort Key
block_numberUInt64Yes
snapshot_timeDateTime64(6, 'UTC')No
vault_addressFixedString(42)Yes
vault_nameStringNo
leaderFixedString(42)No
depositorFixedString(42)Yes
ownership_fractionFloat64No
net_depositsInt64No
leader_commissionFloat64No
indexed_atDateTime64(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:


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:

  1. Fetch the schema via the API endpoint above or download the plain text schema optimized for LLM context windows
  2. Include it in your prompt context when generating SQL queries
  3. Reference sort keys for optimal query performance
  4. 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!

Share this doc