Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 51 additions & 48 deletions benchmarks/solana-unique-traders.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,58 +2,59 @@

slug: solana-unique-traders
number: "207"
title: "Unique daily traders on Solana: pump.fun vs GMGN vs Fomo vs Axiom vs Trojan, live"
seo_title: "Unique daily active traders by Solana platform 2026: pump.fun vs GMGN vs Fomo vs Axiom vs Trojan"
seo_description: "{{best_name}} has the most unique daily traders at {{best_p50}} wallets in 24h. pump.fun vs GMGN vs Fomo vs Axiom vs Trojan ranked by unique daily active users, live from Dune Analytics."
subtitle: Live count of unique wallet addresses that executed a trade through each Solana platform in the last 24 hours. Refreshed hourly via Dune Analytics. Measures real user breadth, not volume, revealing which platforms serve the most distinct traders vs which are dominated by bots or whale concentration.
title: "Unique daily swap transactions on Solana: pump.fun vs GMGN vs Fomo vs Axiom vs Trojan, live"
seo_title: "Unique daily swap transactions by Solana platform 2026: pump.fun vs GMGN vs Fomo vs Axiom vs Trojan"
seo_description: "{{best_name}} leads Solana platforms with {{best_p50}} unique swap transactions in 24h. pump.fun vs GMGN vs Fomo vs Axiom vs Trojan ranked by daily trading activity, live from Dune Analytics."
subtitle: Live count of unique swap transactions executed through each Solana trading platform in the last 24 hours. Refreshed hourly via Dune Analytics. Reveals which platforms drive the most trading activity and which serve concentrated whales vs broad retail flow.

category: Trading
status: live
metric: Unique traders 24h
metric: Unique swap tx 24h
unit: count
higher_is_better: true

disclaimer: |
Counts unique tx_ids touching a platform fee wallet in the rolling 24h window, not unique wallets. Actual unique-wallet count is 3-10x lower since active traders execute multiple trades per day. Includes bots, MEV searchers, and multi-wallet traders. A tx touching two fee wallets is counted in both. pump.fun is substantially undercounted since its bonding-curve trading fees were cut to 0% on 2026-08-07; its count now reflects only graduation and creator fee events.
Counts unique tx_ids per platform, not unique wallets. Actual unique-wallet count is 3-10x lower since active traders execute multiple transactions per day. Includes bots, MEV searchers, and multi-wallet traders. Terminals (GMGN, Axiom, Fomo, Trojan, Photon, Maestro) use fee wallet inflow detection; pump.fun uses Dune Spellbook (dex_solana.trades, project IN pumpdotfun/pumpswap) to avoid noise from fee-wallet micro-inflows at 0% fee.

seo_intro: |
GMGN leads Solana trading terminals by unique daily active wallets, serving a broad
segment of retail and power traders with AI-powered copy trading and wallet analysis.
Axiom and Fomo each attract hundreds of thousands of unique daily traders, while
Trojan and Maestro serve a smaller but high-conviction base of Telegram power users.
pump.fun's unique trader count is substantially undercounted since August 7, 2026,
when its bonding-curve trading fees were cut to zero; fee wallet attribution now
captures only graduation and creator fee events rather than swap activity. This
benchmark tracks unique daily active wallets per platform live, updated hourly from
Dune Analytics on-chain data, providing a user-breadth view that volume metrics
alone cannot reveal.
pump.fun leads Solana platforms by raw swap transaction count, driven by bonding-curve
launch activity and bot sniping on newly created tokens. Axiom ranks second among
trading terminals, reflecting its broad web-native user base. GMGN and Fomo each
attract hundreds of thousands of unique daily swap transactions, while Trojan and
Maestro serve a smaller but high-conviction Telegram-native segment.
pump.fun's count comes from Dune Spellbook (dex_solana.trades) covering both the
bonding-curve program (pumpdotfun) and the graduated PumpSwap AMM, making the
comparison directly comparable to terminal fee-wallet attribution. This benchmark
tracks unique daily swap transactions per platform live, updated hourly from
Dune Analytics on-chain data.

abstract: |
The harness wraps the Dune Analytics API. A single saved query counts distinct
tx_id values from solana.account_activity where the fee wallet address received
a native SOL inflow (post_balance > pre_balance) or a USDC/WSOL token inflow
(post_token_balance > pre_token_balance via token_balance_owner) in the rolling
24-hour window. All platforms use the same inflow-only attribution against
solana.account_activity (standard Dune tier, no trace API required). The harness
re-executes the query every hour, polls for completion, then updates the Prometheus
gauge solana_platform_unique_traders_24h per platform. Between executions it serves
the latest cached result every 15 minutes.
tx_id values per platform using two sources. For trading terminals (GMGN, Axiom,
Fomo, Trojan, Photon, Maestro): solana.account_activity where the platform fee
wallet received a native SOL inflow (post_balance > pre_balance) or a USDC/WSOL
token inflow (token_balance_owner match, post > pre) in the rolling 24h window.
For pump.fun: dex_solana.trades where project IN ('pumpdotfun', 'pumpswap') in
the rolling 24h window. This avoids the ~60% noise introduced by micro-SOL
inflows (rent, account creation) to pump.fun fee wallets after the 0% fee cut
on 2026-08-07. The harness re-executes the query every hour, polls for completion,
then updates the Prometheus gauge solana_platform_unique_traders_24h per platform.

methodology:
- "Source: Dune Analytics (dune.com). Query updated hourly, results fetched every 15 min."
- "All platforms: COUNT(DISTINCT tx_id) from solana.account_activity WHERE address = one of the platform's known fee wallet addresses in the rolling 24h window."
- "Metric represents unique fee-touching transactions per platform, which is a 3-10x upward proxy for unique daily active wallets (power traders execute multiple transactions per day)."
- "pump.fun: tracked via 9 on-chain fee wallets. Since pump.fun cut bonding-curve trading fees to 0% on 2026-08-07, its count primarily reflects graduation and creator fee events, substantially understating true trading activity."
- "Fee wallet sources: DeFiLlama dimension-adapters (master, 2026-08), verified on-chain."
- "Terminals (GMGN, Axiom, Fomo, Trojan, Photon, Maestro): COUNT(DISTINCT tx_id) from solana.account_activity WHERE fee wallet received SOL inflow (address match) or USDC/WSOL inflow (token_balance_owner match) in rolling 24h window."
- "pump.fun: COUNT(DISTINCT tx_id) from dex_solana.trades WHERE project IN ('pumpdotfun', 'pumpswap') in rolling 24h window. Covers bonding-curve swaps and graduated PumpSwap AMM trades."
- "pump.fun switched from fee wallet to dex_solana.trades on 2026-08-13. The fee wallet approach overcounted by ~60% after the 0% bonding-curve fee cut (2026-08-07), as micro-SOL inflows from rent and account creation triggered false positives on every swap tx."
- "Metric represents unique swap transactions per platform. Actual unique-wallet count is 3-10x lower since active traders (and bots) execute multiple transactions per day."
- "Bot inclusion: all transactions counted including automated traders, sniping bots, and copy-trade bots."
- "Double-count across platforms: a transaction that touches two platform fee wallets is counted in both. Counts are not mutually exclusive across platforms."
- "Double-count across platforms: a tx touching two fee wallets is counted in both. Counts are not mutually exclusive."

findings:
- "{{best_name}} leads Solana platforms with {{best_p50}} unique daily traders."
- "GMGN leads among trading terminals by unique daily wallets, reflecting its broad retail and power-trader user base."
- "Trojan and Maestro serve a smaller but highly active Telegram-native segment, with fewer unique wallets but higher average trade size."
- "Unique traders and volume rankings diverge: Axiom leads trading terminals on unique trader count while Photon and Trojan serve more concentrated user bases with higher average position sizes."
- "pump.fun unique trader count is substantially undercounted post 2026-08-07 due to its zero-fee policy; fee wallet attribution captures only graduation and creator fee events, not swap activity."
- "{{best_name}} leads Solana platforms with {{best_p50}} unique daily swap transactions."
- "pump.fun dominates by raw swap count driven by bonding-curve launch activity and bot sniping; its 6M daily txs come from dex_solana.trades (pumpdotfun + pumpswap), comparable to terminal fee-wallet attribution."
- "Axiom leads trading terminals on unique swap tx count, reflecting its broad web-native user base and high-frequency retail flow."
- "Trojan and Maestro serve a smaller but highly active Telegram-native segment, with fewer unique transactions but higher average trade size."
- "Unique swap tx and volume rankings diverge: Axiom leads terminals on tx count while Photon and Trojan serve more concentrated user bases with higher average position sizes."

source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/solana-unique-traders

Expand All @@ -62,22 +63,24 @@ prometheus:
freshness_metric: solana_platform_unique_traders_24h

faq:
- q: "What does unique daily traders measure?"
a: "Unique daily traders counts the number of distinct fee-touching transactions (tx_id) in solana.account_activity where a platform fee wallet received SOL or USDC/WSOL in the rolling 24-hour window. It is a proxy for user breadth: the actual unique-wallet count is typically 3-10x lower since active traders execute multiple transactions per day. A wallet that trades 1000 times generates up to 1000 counted transactions."
- q: "Why does pump.fun have so many more unique traders than GMGN?"
a: "pump.fun is the default entry point for new Solana users and meme coin traders. Its bonding curve launch mechanic triggers massive multi-wallet bot activity as snipers race to buy newly created tokens. GMGN serves a more deliberate, power-trader segment that skews toward fewer unique wallets but larger position sizes."
- q: "What does unique daily swap transactions measure?"
a: "Unique daily swap transactions counts the number of distinct tx_ids per platform in the rolling 24-hour window. For terminals it detects fee wallet inflows; for pump.fun it uses dex_solana.trades (pumpdotfun + pumpswap). Each tx_id represents one swap event. Actual unique-wallet count is 3-10x lower since active traders and bots execute many transactions per day."
- q: "Why does pump.fun have so many more transactions than GMGN?"
a: "pump.fun's bonding curve launch mechanic triggers massive bot sniping activity as automated traders race to buy newly created tokens in the first seconds of each launch. GMGN serves a more deliberate, power-trader segment with larger positions and fewer but higher-value transactions."
- q: "Is this apple-to-apple between pump.fun and the others?"
a: "The methodology is consistent: all platforms use fee wallet attribution from solana.account_activity. However, pump.fun's results are substantially undercounted since August 7, 2026, when its bonding-curve trading fees were cut to zero. Fee wallet attribution now captures only graduation and creator fee events, not the hundreds of thousands of daily swaps. For trading terminals (GMGN, Axiom, Fomo, Trojan, Maestro, Photon), the comparison is directly apple-to-apple."
a: "Approximately yes. Both measure COUNT(DISTINCT tx_id) over 24h: terminals via fee wallet inflow detection (all trades generate a fee inflow), pump.fun via dex_solana.trades Spellbook (all indexed swap events). The methodological difference is the data source, not the underlying event type. Both capture real on-chain swap activity."
- q: "Why did you switch pump.fun from fee wallets to dex_solana.trades?"
a: "After pump.fun cut bonding-curve trading fees to 0% on 2026-08-07, its fee wallets still appeared in every bonding-curve tx as required program accounts, with micro-SOL balance changes from rent and account-creation side-effects. This inflated the fee-wallet count by ~60% (9.7M vs 6M real swaps). dex_solana.trades indexes actual swap events via the Dune Spellbook, eliminating the noise."
- q: "How is Fomo tracked given its off-chain relay fees?"
a: "Fomo collects per-trade fees in USDC to a protocol-owned token account. The Dune query matches on token_balance_owner = Fomo's fee wallet in solana.account_activity with USDC mint and a positive balance change filter, capturing the on-chain per-trade USDC fee inflows. Fomo's off-chain relay fee component (batched separately) is not counted here, so the figure reflects only the on-chain Jupiter referral fee events."
a: "Fomo collects per-trade fees in USDC to a protocol-owned token account. The Dune query matches on token_balance_owner = Fomo's fee wallet in solana.account_activity with USDC mint and positive balance change, capturing on-chain per-trade fee inflows. Fomo's off-chain relay fee component is not counted here."
- q: "How is this different from bench 201 (24h volume)?"
a: "Bench 201 ranks platforms by 24h swap volume in USD. This bench ranks by unique daily active wallets. A platform can have high volume with few wallets (whale-concentrated) or low volume with many wallets (retail-dominated). Both metrics together reveal the full picture."
a: "Bench 201 ranks platforms by 24h swap volume in USD. This bench ranks by unique daily swap transactions. A platform can have high volume with few transactions (large trades) or high tx count with low volume (micro-trades and bots). Both metrics together reveal the full trader profile."

providers:
- slug: pump-fun
name: pump.fun
tag: "Solana meme launchpad"
formula: "Unique tx count touching pump.fun fee wallets in the last 24h (Dune: solana.account_activity, hourly). Undercounted post 2026-08-07 due to zero bonding-curve fee."
formula: "Unique tx_ids from dex_solana.trades WHERE project IN ('pumpdotfun','pumpswap') in the last 24h (Dune Spellbook, hourly). Covers bonding-curve swaps and graduated PumpSwap AMM."
queries:
p50: solana_platform_unique_traders_24h{platform="pump-fun"}
p90: solana_platform_unique_traders_24h{platform="pump-fun"}
Expand All @@ -90,7 +93,7 @@ providers:
- slug: gmgn
name: GMGN
tag: "AI trading terminal on Solana"
formula: "Unique wallet addresses (distinct fee_payer) in transactions touching GMGN fee wallets in the last 24h (Dune: solana.account_activity + solana.transactions, hourly refresh)."
formula: "Unique tx_ids where GMGN fee wallets received SOL or USDC/WSOL inflow in the last 24h (Dune: solana.account_activity, hourly refresh)."
queries:
p50: solana_platform_unique_traders_24h{platform="gmgn"}
p90: solana_platform_unique_traders_24h{platform="gmgn"}
Expand All @@ -103,7 +106,7 @@ providers:
- slug: axiom
name: Axiom
tag: "Web trading terminal on Solana"
formula: "Unique wallet addresses in transactions touching Axiom fee wallets in the last 24h (Dune, hourly refresh)."
formula: "Unique tx_ids where Axiom fee wallets received SOL inflow in the last 24h (Dune: solana.account_activity, hourly refresh)."
queries:
p50: solana_platform_unique_traders_24h{platform="axiom"}
p90: solana_platform_unique_traders_24h{platform="axiom"}
Expand All @@ -116,7 +119,7 @@ providers:
- slug: fomo
name: Fomo
tag: "Solana mobile trading app"
formula: "Unique tx count where Fomo's fee wallet (token_balance_owner match) received USDC inflow in the last 24h (Dune: solana.account_activity, hourly). On-chain Jupiter referral fees only; off-chain relay excluded."
formula: "Unique tx_ids where Fomo's fee wallet (token_balance_owner match) received USDC inflow in the last 24h (Dune: solana.account_activity, hourly). On-chain Jupiter referral fees only."
queries:
p50: solana_platform_unique_traders_24h{platform="fomo"}
p90: solana_platform_unique_traders_24h{platform="fomo"}
Expand All @@ -129,7 +132,7 @@ providers:
- slug: trojan
name: Trojan
tag: "Telegram trading bot on Solana"
formula: "Unique wallet addresses in transactions touching Trojan fee wallets in the last 24h (Dune, hourly refresh)."
formula: "Unique tx_ids where Trojan fee wallets received SOL inflow in the last 24h (Dune: solana.account_activity, hourly refresh)."
queries:
p50: solana_platform_unique_traders_24h{platform="trojan"}
p90: solana_platform_unique_traders_24h{platform="trojan"}
Expand All @@ -142,7 +145,7 @@ providers:
- slug: photon
name: Photon
tag: "Solana trading terminal"
formula: "Unique wallet addresses in transactions touching Photon fee wallet in the last 24h (Dune, hourly refresh)."
formula: "Unique tx_ids where Photon fee wallet received SOL inflow in the last 24h (Dune: solana.account_activity, hourly refresh)."
queries:
p50: solana_platform_unique_traders_24h{platform="photon"}
p90: solana_platform_unique_traders_24h{platform="photon"}
Expand All @@ -155,7 +158,7 @@ providers:
- slug: maestro
name: Maestro
tag: "Telegram trading bot on Solana"
formula: "Unique wallet addresses in transactions touching Maestro fee wallets in the last 24h (Dune, hourly refresh)."
formula: "Unique tx_ids where Maestro fee wallets received SOL inflow in the last 24h (Dune: solana.account_activity, hourly refresh)."
queries:
p50: solana_platform_unique_traders_24h{platform="maestro"}
p90: solana_platform_unique_traders_24h{platform="maestro"}
Expand Down
Loading
Loading