Skip to main content
Perpetuals metrics are four daily tables. metrics.perp_markets_daily and metrics.order_book_markets_daily hold one row per market per day. metrics.perp_markets_tokens_daily and metrics.order_book_markets_tokens_daily split each market by the token it settles in, one row per market per token per day, and that is where amounts are turned into dollars.
  • metrics.perp_markets_daily: one row per perpetual market per day.
  • metrics.order_book_markets_daily: one row per order-book market per day.
  • metrics.perp_markets_tokens_daily: one row per perpetual market per settlement token per day.
  • metrics.order_book_markets_tokens_daily: one row per order-book market per settlement token per day.
A few terms carry most of the meaning on this page. Notional volume is the total value of the contracts traded, each trade’s price times its size, and is not the same as cash changing hands: a trader with 100downcantradeacontractworth100 down can trade a contract worth 2,000, and it is the $2,000 that notional volume counts. Open interest is the value of the positions still open at the end of the day, so volume is what was traded during the day while open interest is what is still on the books. The funding rate is the small recurring payment that passes between the two sides of a market to hold its price close to the price it tracks; a positive rate means the long side is paying the short side. Liquidations are positions the venue force-closed because the trader’s deposit no longer covered their losses. And top-10 trader share is the fraction of one side’s open positions, by value, held by its ten largest traders, so a high number means the market’s exposure sits with very few accounts. exchange_notional_trading_volume answers what traded on the venue. interface_notional_trading_volume answers what each front end brought in. Both columns exist so either ranking reads straight off the table. Use one or the other in a query, never both.

Tables

One row per perpetual market per day, keyed (perp_market_id, timestamp). Names and other details live on the registry table, so this carries only keys and figures. The two notional columns are the same trades credited two different ways: exchange_notional_trading_volume to the venue that matched them, interface_notional_trading_volume to the front end they came through. One row here is one market, and a market has exactly one of each, so on this table the two columns hold the same number; they only differ once rows are grouped by app.Figures that measure activity during the day read zero when nothing traded. Figures that measure a standing position, and the funding rate, are left empty where we have no reading. funding_rate is empty before 2025-09-27, where our funding history starts.
ColumnTypeDescription
timestampTIMESTAMPDay the row covers, at UTC midnight.
perp_market_idSTRINGMarket the row measures, keyed like dimensions.perp_markets.
priceFLOAT64The market’s closing price in USD, carried forward on days nothing traded.
exchange_notional_trading_volumeBIGNUMERICValue of the contracts traded, in USD, credited to the venue that matched them. Each trade’s price times its size, counting one side of each match.
interface_notional_trading_volumeBIGNUMERICThe same figure, credited instead to the front end the trades came through.
trades_countINT64Trades matched in the market during the day.
active_tradersINT64How many separate addresses traded in the market during the day.
open_interestFLOAT64Value of the positions still open at the close, in USD, counting one side only: whichever of the long and short side is larger.
long_open_interestFLOAT64Value of the open long positions at the close, in USD.
short_open_interestFLOAT64Value of the open short positions at the close, in USD.
volume_to_open_interestBIGNUMERICThe day’s traded value divided by the value of the open positions: how many times over the day’s trading turned those positions.
long_tradersINT64Traders holding an open long position at the close.
short_tradersINT64Traders holding an open short position at the close.
average_long_position_sizeFLOAT64Average value of an open long position at the close, in USD.
average_short_position_sizeFLOAT64Average value of an open short position at the close, in USD.
median_long_position_sizeFLOAT64Median value of an open long position at the close, in USD.
median_short_position_sizeFLOAT64Median value of an open short position at the close, in USD.
top10_long_trader_shareFLOAT64Fraction of the open long positions, by value, held by the ten largest long traders.
top10_short_trader_shareFLOAT64Fraction of the open short positions, by value, held by the ten largest short traders.
funding_rateFLOAT64The day’s total funding rate: the 24 hourly rates added together. Funding is the payment that passes between the two sides to hold the market’s price near the price it tracks. Positive means the longs paid the shorts.
long_liquidationsFLOAT64Value of the long positions the venue force-closed during the day, in USD, because the trader’s deposit no longer covered their losses.
short_liquidationsFLOAT64Value of the short positions force-closed during the day, in USD.
feesBIGNUMERICTrading fees charged, in USD, before anything is shared out. Charged on each side of a trade separately.
revenueBIGNUMERICFees minus the shares paid to the front end and to whoever listed the market.
fees_supply_sideBIGNUMERICThose two shares: the part of the fees the venue does not keep.

Sample queries

Read one perpetual market’s daily series.

Notes

Amounts add up. Notional volume, trade counts, liquidations and the fee columns all total cleanly across markets and days, as long as you pick one of the two notional columns and stay with it. Counts of distinct traders do not add up: one address that traded in five markets is one trader, but adding those five markets’ active_traders makes it five. Rates do not add up either: a sector-wide total of funding_rate, volume_to_open_interest or a top-10 share means nothing, so read those one market at a time, or weight them by market size yourself.