What does Polymarket volume vs Active Trader Addresses show?
Across 13 complete months through Jun 30, 2026, included Polymarket volume rose from $577.3M to $4.16B (+620.5%), while active trader addresses rose from 242,310 to 669,598 (+176.3%).
| Month | Series | Index | Included volume | Active trader addresses | Volume per active address | Owner-mapping coverage |
|---|---|---|---|---|---|---|
| Jun 1, 2025 | Volume index | 100 | $577.32M | 242,310 | $2.38K | 85% |
| Jun 1, 2025 | Active trader-address index | 100 | $577.32M | 242,310 | $2.38K | 85% |
| Jul 1, 2025 | Volume index | 90 | $521.81M | 286,684 | $1.82K | 88% |
| Jul 1, 2025 | Active trader-address index | 118 | $521.81M | 286,684 | $1.82K | 88% |
| Aug 1, 2025 | Volume index | 90 | $522.23M | 227,360 | $2.3K | 87% |
| Aug 1, 2025 | Active trader-address index | 94 | $522.23M | 227,360 | $2.3K | 87% |
| Sep 1, 2025 | Volume index | 135 | $777.91M | 246,536 | $3.16K | 85% |
| Sep 1, 2025 | Active trader-address index | 102 | $777.91M | 246,536 | $3.16K | 85% |
| Oct 1, 2025 | Volume index | 295 | $1.7B | 477,625 | $3.56K | 86% |
| Oct 1, 2025 | Active trader-address index | 197 | $1.7B | 477,625 | $3.56K | 86% |
| Nov 1, 2025 | Volume index | 358 | $2.07B | 500,031 | $4.14K | 86% |
| Nov 1, 2025 | Active trader-address index | 206 | $2.07B | 500,031 | $4.14K | 86% |
| Dec 1, 2025 | Volume index | 412 | $2.38B | 518,317 | $4.59K | 82% |
| Dec 1, 2025 | Active trader-address index | 214 | $2.38B | 518,317 | $4.59K | 82% |
| Jan 1, 2026 | Volume index | 611 | $3.53B | 646,459 | $5.46K | 74% |
| Jan 1, 2026 | Active trader-address index | 267 | $3.53B | 646,459 | $5.46K | 74% |
| Feb 1, 2026 | Volume index | 648 | $3.74B | 669,193 | $5.59K | 73% |
| Feb 1, 2026 | Active trader-address index | 276 | $3.74B | 669,193 | $5.59K | 73% |
| Mar 1, 2026 | Volume index | 863 | $4.98B | 781,490 | $6.38K | 73% |
| Mar 1, 2026 | Active trader-address index | 323 | $4.98B | 781,490 | $6.38K | 73% |
| Apr 1, 2026 | Volume index | 730 | $4.21B | 676,031 | $6.23K | 67% |
| Apr 1, 2026 | Active trader-address index | 279 | $4.21B | 676,031 | $6.23K | 67% |
| May 1, 2026 | Volume index | 564 | $3.26B | 627,251 | $5.19K | 62% |
| May 1, 2026 | Active trader-address index | 259 | $3.26B | 627,251 | $5.19K | 62% |
| Jun 1, 2026 | Volume index | 721 | $4.16B | 669,598 | $6.21K | 49% |
| Jun 1, 2026 | Active trader-address index | 276 | $4.16B | 669,598 | $6.21K | 49% |
About the data
What is counted
Monthly Polymarket activity in the included Polygon market and combo trade tables.
Coverage and comparison
- First-to-last complete-month comparison: Jun 1, 2025 to Jun 30, 2026, expressed in first-month index and observed values.
- Monthly volume counts taker-side USD amount once per included match. Active trader addresses use the maker wallet, mapped to an owner when Dune's lookup provides one; they are account identifiers, not people.
- 13 complete months are shown. In the latest month, 48.7% of raw maker wallets mapped through the owner lookup; unmapped wallets remain as their own identifiers.
What this does not show
The chart is not wash-trading-adjusted and does not prove unique users, adoption, organic demand, profitability, liquidity quality, causality, or activity outside the included Polygon trade tables.
Common questions
Did Polymarket volume grow faster than active trader addresses?
Yes in this reviewed window. Included volume increased +620.5%, compared with +176.3% for active trader addresses.
What is an active trader address in this chart?
It is an included maker wallet mapped to an owner address when Dune's users_address_lookup provides one; otherwise the wallet itself is retained. It is not a count of unique people.
Does higher volume prove broader Polymarket adoption?
No. The chart compares two observed on-chain series. It does not adjust for wash trading or establish adoption, organic demand, profitability, liquidity quality, or cause.
Sources & methodology
Provider, method, coverage, and verification details.
Source
Dune Analytics
Dune Polymarket market_trades, combo_trades, and users_address_lookup supplies the reviewed observations used here. Same-window indexed comparison of single-counted on-chain volume and canonical active trader-address count.
- Cadence
- manual
- Checked
- Jul 24, 2026
Source and coverage
The published dataset spans Jun 1, 2025 to Jun 1, 2026. Its rows represent complete calendar month. The data run through Jun 30, 2026. This is a dated chart input rather than a live market feed.
Method
Monthly volume sums taker-side USD amount from Dune's Polymarket market and combo trade tables so each included match is counted once. Active trader addresses use the maker wallet, mapped to an owner where users_address_lookup provides one, otherwise the wallet is retained. Both series are indexed to 100 in June 2025. The latest month mapped 48.7% of raw maker wallets through users_address_lookup. Canonical counts retain unmapped wallets, so addresses remain account identifiers rather than people.
Limits
Address counts are account identifiers, not unique people, and the volume is not wash-trading-adjusted. Do not read this chart as proof of liquidity, demand, solvency, peg safety, or future market direction unless those claims are explicitly measured.
View SQL
WITH bounds AS (
SELECT
CAST(date_trunc('month', current_date) - interval '13' month AS date) AS window_start,
CAST(date_trunc('month', current_date) AS date) AS end_exclusive,
date_add(
'day',
-1,
CAST(date_trunc('month', current_date) AS date)
) AS data_through
),
user_map AS (
SELECT
polymarket_wallet,
arbitrary(owner) AS owner
FROM polymarket_polygon.users_address_lookup
WHERE polymarket_wallet IS NOT NULL
AND owner IS NOT NULL
GROUP BY 1
),
market_activity AS (
SELECT
CAST(date_trunc('month', t.block_time) AS date) AS month,
t.maker AS trader_wallet,
CASE WHEN t.is_taker_side THEN t.amount ELSE 0 END AS market_volume_usd,
CAST(0 AS double) AS combo_volume_usd
FROM polymarket_polygon.market_trades t
CROSS JOIN bounds b
WHERE t.block_month >= b.window_start
AND t.block_month < b.end_exclusive
AND t.maker IS NOT NULL
AND t.amount IS NOT NULL
AND t.amount > 0
),
combo_activity AS (
SELECT
CAST(date_trunc('month', t.block_time) AS date) AS month,
t.maker AS trader_wallet,
CAST(0 AS double) AS market_volume_usd,
CASE WHEN t.is_taker_side THEN t.amount ELSE 0 END AS combo_volume_usd
FROM polymarket_polygon.combo_trades t
CROSS JOIN bounds b
WHERE t.block_month >= b.window_start
AND t.block_month < b.end_exclusive
AND t.maker IS NOT NULL
AND t.amount IS NOT NULL
AND t.amount > 0
),
activity AS (
SELECT
month,
trader_wallet,
market_volume_usd,
combo_volume_usd
FROM market_activity
UNION ALL
SELECT
month,
trader_wallet,
market_volume_usd,
combo_volume_usd
FROM combo_activity
),
canonical_activity AS (
SELECT
a.month,
a.trader_wallet,
COALESCE(u.owner, a.trader_wallet) AS trader_address,
u.owner IS NOT NULL AS wallet_mapped,
a.market_volume_usd,
a.combo_volume_usd
FROM activity a
LEFT JOIN user_map u
ON a.trader_wallet = u.polymarket_wallet
),
monthly AS (
SELECT
month,
SUM(market_volume_usd) AS market_volume_usd,
SUM(combo_volume_usd) AS combo_volume_usd,
SUM(market_volume_usd + combo_volume_usd) AS volume_usd,
COUNT(DISTINCT trader_address) AS active_trader_addresses,
COUNT(DISTINCT trader_wallet) AS raw_active_wallets,
COUNT(DISTINCT CASE WHEN wallet_mapped THEN trader_wallet END) AS mapped_active_wallets
FROM canonical_activity
GROUP BY 1
),
with_changes AS (
SELECT
m.*,
100.0 * m.volume_usd
/ NULLIF(first_value(m.volume_usd) OVER (ORDER BY m.month), 0)
AS volume_index,
100.0 * m.active_trader_addresses
/ NULLIF(first_value(m.active_trader_addresses) OVER (ORDER BY m.month), 0)
AS active_trader_index,
100.0 * (
m.volume_usd
/ NULLIF(lag(m.volume_usd) OVER (ORDER BY m.month), 0)
- 1
) AS volume_change_pct,
100.0 * m.active_trader_addresses
/ NULLIF(
lag(m.active_trader_addresses) OVER (ORDER BY m.month),
0
)
- 100.0 AS active_trader_change_pct
FROM monthly m
)
SELECT
c.month,
b.data_through,
b.window_start,
b.data_through AS window_end,
CAST(13 AS bigint) AS month_count,
c.market_volume_usd,
c.combo_volume_usd,
c.volume_usd,
c.active_trader_addresses,
c.raw_active_wallets,
c.mapped_active_wallets,
100.0 * c.mapped_active_wallets
/ NULLIF(c.raw_active_wallets, 0) AS mapping_coverage_pct,
c.volume_index,
c.active_trader_index,
c.volume_change_pct,
c.active_trader_change_pct,
c.volume_usd
/ NULLIF(c.active_trader_addresses, 0) AS volume_per_active_address_usd,
'polymarket_volume_active_traders_monthly.v1' AS source_contract_version,
'dune:polymarket_polygon.market_trades+combo_trades+users_address_lookup' AS source
FROM with_changes c
CROSS JOIN bounds b
ORDER BY c.month;