Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dune.com/llms.txt

Use this file to discover all available pages before exploring further.

The kalshi.market_trades table contains per-fill trade activity on Kalshi. Grain: one row per Kalshi trade. Each row includes the side the taker was on, prices for both sides, USD notional, and (when fee structure is available) the taker fee in USD. Market-level fields like title, status, and series-level fee parameters are denormalized for query convenience.

Table Schema

ColumnTypeDescription
trade_idVARCHARUnique trade identifier
tickerVARCHARMarket ticker
created_timeTIMESTAMPWhen the trade occurred
block_monthDATEFirst day of the calendar month of created_time (partition key)
taker_sideVARCHARWhich side the taker was on (yes / no)
count_fpDOUBLENumber of contracts traded (fractional)
yes_price_dollarsDOUBLEPrice paid for the Yes side
no_price_dollarsDOUBLEPrice paid for the No side
amount_usdDOUBLEUSD notional of the trade (taker price × count_fp)
fee_usdDOUBLETaker fee for this fill in USD. NULL when fee structure isn’t available
event_tickerVARCHARParent event identifier
series_tickerVARCHARSeries the event belongs to
market_typeVARCHARMarket type
titleVARCHARMarket question text
subtitleVARCHARMarket subtitle
statusVARCHARMarket lifecycle state
resultVARCHARSettlement outcome (NULL while unresolved)
frequencyVARCHARSeries-level recurrence cadence
fee_typeVARCHARSeries-level fee model
fee_multiplierDOUBLESeries-level fee scalar
_updated_atTIMESTAMPWhen this row was last written by the pipeline

Table sample

Query performance

block_month is the partition key. Always include a block_month or created_time filter for trade-history queries.
-- ✅ Good: bounded by partition
SELECT * FROM kalshi.market_trades
WHERE block_month >= DATE '2026-04-01'
  AND ticker = 'KXNHLGAME-26MAY03MINCOL-MIN'

Example query

-- Top markets by USD volume in the last 7 days
SELECT
  ticker,
  title,
  COUNT(*) AS num_trades,
  SUM(amount_usd) AS total_volume_usd
FROM kalshi.market_trades
WHERE created_time >= NOW() - INTERVAL '7' DAY
GROUP BY 1, 2
ORDER BY 4 DESC
LIMIT 20