project = 'ostium'.
Ostium markets are identified by market_symbol. On trades and liquidations, market_address and asset_address are null because many Ostium markets are real-world assets with no token contract. On fees, asset_address is USDC (0xaf88d065e77c8cc2239327c5edb3a432268e5831).
arbitrum.perpetuals.trades has one row per open, close, or liquidation. Collateral top-ups, collateral removals, and take-profit / stop-loss updates are not separate trades rows.
Schemas
Size and open interest
Ostium size and open interest use the same product:size_usd. On an open, leverage is the position leverage after the open. On a close or liquidation, leverage is the position leverage immediately before the close — not extra_fields.leverage, which is the remaining position after the event. Partial closes scale collateral and size by the closed fraction.
Open interest on arbitrum.perpetuals.overview is the end-of-day value of the same product, split into long and short.
Fees and revenue
arbitrum.perpetuals.fees has one row per fee event or non-zero execution spread. Use that table for fee-event grain. trades.fee_usd is the trade-level total and already includes execution spread.
fee_usdincludes execution fees, rollover, signed funding, and execution spread. Funding keeps its sign: trader-paid is positive, rebate is negative.- On-chain raw
priceImpactPis a percent with 18 decimals:size_usd × (priceImpactP / 1e18) / 100.extra_fields.price_impact_pon trades andextra_fields.spread_pon fees already store that percent without the 1e18 scale, so spread issize_usd × price_impact_p / 100(orspread_p). revenue_usdis the protocol-retained share: opening developer fees, oracle fees (refunds are negative), and execution spread from2026-04-28 00:00 UTC. Before that timestamp, spreadrevenue_usdis 0. Close, builder, vault, rollover, funding, and liquidation components contribute 0 torevenue_usd.
OLP vault and TVL
arbitrum.perpetuals.user_actions for Ostium is OLP vault LP deposits and withdrawals (completed USDC movements). It is not trader margin posted against a position.
arbitrum.perpetuals.metrics_daily is end-of-day USDC in the OLP vault (olp_vault) and TradingStorage (trading_storage). TVL on overview.total_tvl_usd is the sum of those two balances.