NEW: Live arbitrage across 10+ prediction markets.Arbitrage →
← Index
APIOct 15, 2026

Polymarket Dune Analytics (2026): Dashboards, Queries and Data

Polymarket Dune Analytics (2026): Dashboards, Queries and Data

The Short Answer

Dune maintains curated Polymarket tables in its polymarket_polygon schema, built from Polymarket's exchange events on Polygon plus market metadata from Polymarket's API, and refreshed about every hour. As of October 2026, four of them are public: market_trades, market_details, market_prices_hourly and users_address_lookup. Hourly candles, daily positions, lifecycle actions, the Combos tables and Dune's cross-venue tables need an Enterprise entitlement. Most Polymarket queries start from market_trades filtered on is_taker_side, because Dune records both legs of every match.

Key Takeaways

  • polymarket_polygon.market_trades holds every fill on Polymarket's v1 and v2 exchanges, with price, USD amount, shares, sides and addresses.
  • Filter on is_taker_side for single-counted volume, or each match is counted on both of its legs.
  • Read a market's winner from outcome_index and settlement_value, not the Yes or No label, which breaks on Up or Down and team-name markets.
  • Trade and price tables are partitioned by block_month, so give every query a time filter.
  • Running queries spends Dune credits, and free access is view-only once the 14-day trial ends.

What Polymarket data is on Dune?

Dune's prediction markets section covers Polymarket, Kalshi and Hyperliquid HIP-4. Dune maintains the Polymarket tables itself and refreshes them about every hour. It builds them from decoded events on Polymarket's exchange contracts on Polygon, joined to market metadata from the Polymarket API. Polymarket's own docs list Dune among their on-chain data resources.

Every table below sits in the polymarket_polygon schema:

TableWhat it holdsAccess
market_tradesEvery fill on Polymarket's v1 and v2 exchangesPublic
market_detailsOne row per outcome token: question, event, category, status and resolutionPublic
market_prices_hourlyEnd-of-hour price per outcome tokenPublic
users_address_lookupProxy wallet to owner address, with first funding detailsPublic
ohlcv_hourlyHourly candles per outcome token, with VWAP, volume and trade countGated
positionsDaily balance and USD value per wallet and tokenGated
market_actionsSplits, merges, redemptions and neg-risk convertsGated
combo_* (four tables)Trades, details, actions and hourly prices for Combos, Polymarket's multi-leg parlays, from 29 May 2026Gated

Gated tables still show up in Dune's data explorer, but queries against them need the entitlement on your workspace. The same goes for Dune's cross-venue tables, prediction_markets.markets, prediction_markets.trades and prediction_markets.ohlcv_hourly, which put Polymarket and Kalshi on one schema with every price expressed as the probability of Yes.

What columns does polymarket_polygon.market_trades have?

Most Polymarket work on Dune starts here. Each row is one fill, covering the original exchanges with USDC collateral and the V2 exchange with pUSD collateral, whose rows begin in April 2026. The columns you will use most:

ColumnWhat it holds
block_time, block_monthFill time in UTC, and the monthly partition key
condition_id, asset_idThe market, and the outcome token traded
question, event_market_nameThe outcome being traded, and the parent question of a multi-outcome market
token_outcome, outcome_indexThe side's label, and its position, 0 or 1
price, shares, amountToken price, shares moved, and the amount in USD
feeFee in USD, usually 0 on v1 rows
maker, maker_sideThe address whose order was filled, and its side, BUY or SELL
is_taker_sideTRUE on the taker leg of a match
contract_versionv1 or v2

Two details catch people out. First, Dune keeps both fill events of each CLOB match, and the table also includes mint and merge matches, where the exchange creates or redeems outcome tokens to fill orders. Filtering on is_taker_side keeps the taker leg only, which Dune says gives "single-counted volume that matches Polymarket's published methodology". Second, condition_id is binary here but a 0x text string in market_details, so join the two on asset_id and token_id, which both hold the outcome token ID.

How do you query Polymarket daily volume on Dune?

The queries below follow Dune's documented tables and columns as of October 2026, in DuneSQL, Dune's fork of Trino. Paste them into Dune's query editor. This one returns daily volume for the last 30 days:

SELECT
  date_trunc('day', block_time) AS day,
  SUM(amount) AS volume_usd,
  COUNT(*) AS trades
FROM polymarket_polygon.market_trades
WHERE block_time >= NOW() - INTERVAL '30' DAY
  AND is_taker_side
GROUP BY 1
ORDER BY 1

The block_time filter matters for speed as well as scope, because Dune partitions the table by month and can skip the months outside your range. amount is in US dollars, with pUSD counted one to one. Add contract_version to the select list and the grouping to split v1 and v2 volume.

What are the top Polymarket markets by volume on Dune?

Dune's own example ranks markets by volume over the last seven days:

SELECT
  event_market_name,
  question,
  SUM(amount) AS volume_usd,
  COUNT(*) AS trades
FROM polymarket_polygon.market_trades
WHERE block_time >= NOW() - INTERVAL '7' DAY
  AND is_taker_side
GROUP BY 1, 2
ORDER BY 3 DESC
LIMIT 20

For a multi-outcome market, event_market_name is the parent question, such as an election, and question is the single outcome traded, such as one candidate. Add polymarket_link to get each market's page, though Dune notes that links to archived markets may be broken.

How do you find a wallet's Polymarket trades on Dune?

Use the account wallet address from the Polymarket profile menu, rather than the key that signs for it. Our Polymarket proxy wallet guide explains the difference. In market_trades, maker is the address whose order was filled, and on the taker leg it is the trader who took liquidity, so one filter on maker returns each of a wallet's fills once:

SELECT
  block_time,
  question,
  token_outcome,
  maker_side AS side,
  price,
  shares,
  amount AS amount_usd,
  is_taker_side AS took_liquidity,
  tx_hash
FROM polymarket_polygon.market_trades
WHERE block_time >= NOW() - INTERVAL '30' DAY
  AND maker = {{wallet}}
ORDER BY block_time DESC

{{wallet}} is a Dune query parameter. Paste the address with its 0x prefix and Dune inserts it with the right type. Read the wallet's side from maker_side on every row, because on the taker leg the taker column holds the exchange contract. If you only have the owner address of a Safe or Magic wallet, Polymarket's two legacy wallet types, users_address_lookup maps owner to polymarket_wallet.

For one wallet's recent activity without SQL, Polymarket's own Data API is quicker, as covered in the Polymarket Data API guide.

Which Polymarket dashboards are on Dune?

You can browse without writing any SQL. Polymarket's docs point to four community dashboards on Dune, and all four loaded when we checked on 3 October 2026:

DashboardDune account
Polymarket Overviewdatadashboards
Polymarket Volume, OI, Markets, Addresses and TVLhildobby
Polymarket Historical Accuracyalexmccullough
Polymarket Builders Dashboardgateresearch

Dune also curates a Prediction Markets collection with live dashboards, top markets and example queries. Polymarket's docs add three starter queries, covering volume, the USDC locked in Polymarket's contracts, and estimated open interest. Forking one is faster than starting from a blank editor. Viewing is free, but running a query or refreshing a dashboard spends credits.

How do you export Polymarket data from Dune?

There are two routes, and both are paid in credits as of October 2026:

  • CSV download from a query's results, on the Plus and Enterprise plans or during a trial with Plus features.
  • The Dune API, which runs SQL through POST /api/v1/sql/execute on api.dune.com, with an API key in the X-Dune-Api-Key header. It returns an execution_id that you poll for status and results, and it needs a paid plan or an active trial.

Exports cost 10 credits per MB on the Analyst plan and 2 per MB on Plus. New accounts get 2,500 trial credits for up to 14 days with Plus features, and after that the account is view-only until it upgrades.

What are the limits of Polymarket data on Dune?

  • It runs about an hour behind. Hourly refreshes suit research and dashboards, not a bot reacting to a live market.
  • It holds fills, not order books. Polymarket creates orders offchain, matches them through an operator and settles them onchain, so matched trades reach the chain but the book of resting orders does not. Depth comes from the CLOB, as covered in the Polymarket order book API guide.
  • Candles and positions are gated. The public market_prices_hourly gives one end-of-hour price per token, forward-filled through quiet hours, with no open, high, low or volume.
  • Labels can mislead. Resolution is positional. In market_details, outcome reads yes when the token at index 0 won, whatever its label, so use settlement_value, which is 1.0 for a winning token, 0.0 for a losing one and 0.5 for a 50/50 result.

How do you get Polymarket candles without writing SQL?

When candles need to feed an app or a backtest rather than a dashboard, an API is the shorter path. The Predictefy API serves OHLCV candles for Polymarket outcomes from its history endpoints, in one normalized schema across 15+ venues, so the code that reads Polymarket history reads Kalshi's too. A historical query costs 5 credits, and the Builder plan adds history replay and 12 months of history.

For files and archives rather than queries, see where to download Polymarket historical data and our guide to prediction market datasets.

Frequently Asked Questions

Does Dune have Polymarket data?

Yes. Dune maintains curated Polymarket tables in the polymarket_polygon schema, built from Polymarket's exchange events on Polygon and market metadata from Polymarket's API, and refreshed about every hour. They cover trades, market details, hourly prices and wallet lookups, with candles, positions and Combos on gated tables.

Is Polymarket data on Dune free?

The four public tables need no extra entitlement, but running queries spends Dune credits. As of October 2026, new accounts get 2,500 trial credits for up to 14 days, and after that free access is view-only: you can browse dashboards but not run or export queries.

What is polymarket_polygon.market_trades?

It is Dune's table of Polymarket fills across the v1 and v2 exchanges, with block time, market question, outcome, price, USD amount, shares, fee, maker and taker addresses, sides and an is_taker_side flag. It is partitioned by block_month, so always filter on block_time.

Why does my Polymarket volume on Dune look doubled?

Because Dune records both legs of each CLOB match. Add WHERE is_taker_side to keep the taker leg only, which Dune says matches Polymarket's published volume methodology.

How often is Polymarket data on Dune updated?

About every hour, according to Dune's documentation. That suits dashboards and research, while live trading needs Polymarket's own APIs or a WebSocket feed.

Can you get Polymarket order book data from Dune?

No. Polymarket matches orders offchain and settles trades onchain, so Dune's tables hold fills, splits, merges and redemptions but never resting orders. Order book depth comes from Polymarket's CLOB API.