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.
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: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
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.