Skip to main content
rwa_hyperliquid.perp_metrics_hourly pre-aggregates RWA perp activity into hourly buckets with market classification already joined on. Grain: one row per market per hour, keyed on (block_month, block_hour, perp_dex, coin). Use it instead of aggregating perp_trades yourself whenever hourly resolution is enough.

Table schema

Open interest is both-sides

open_interest_units and open_interest_usd sum longs and shorts, matching what the Hyperliquid UI displays. Classical one-sided open interest — the convention most traditional venues report — is half this number.
Pick one convention and state it. Comparing an unadjusted figure here against a one-sided figure from another venue overstates Hyperliquid by 2x.

The newest hour is always partial

The most recent bucket is incomplete by construction, since the hour has not finished. Filter it out for any trend or comparison:
Leaving it in produces a phantom drop at the right edge of every chart.

Volume is taker-leg

volume_usd inherits the taker-leg-only convention from perp_trades, so it matches Hyperliquid’s own reported market volume rather than double-counting both sides. buy_volume_usd and sell_volume_usd split that same taker volume by direction, so the two sum to volume_usd.

Example query

Funding rate extremes across markets:
For daily rollups, use perp_metrics_daily rather than aggregating this table — open interest is a point-in-time stock, not a flow, so summing hourly values across a day is wrong.