How Polyanna Works
A high-level overview of how data flows from the blockchain to the analytics you see on screen, including the platform-wide metrics shown on Platform Insights.
Data Pipeline#
Polyanna runs three independent processes that share the same on-disk data store:
- Collector — continuously polls the Goldsky subgraph for new fill events on Polymarket's smart contracts and fetches market metadata from the Gamma API. Raw events are written to flat time-ranged Parquet files on local storage.
- Enrichment — runs heavy Polars computations over the Parquet files to produce leaderboard rankings, trader profiles, market-signal inputs, and platform statistics. Results are written to a cache layer (Parquet + JSON files).
- API — a lightweight server that reads from the enrichment cache and serves the data to the frontend. No direct Parquet queries — the cache is the database.
Time Periods#
Polyanna supports four leaderboard windows: 7d, 30d, 90d, and All time. Each ranking is recomputed for the selected window, so a trader's standing can change materially between short-term and all-time views.
Platform Insights#
The Platform Insights page is a venue-wide snapshot of Polymarket activity as indexed by Polyanna. Most headline metrics are aggregated from the same all-time trader base used to build the leaderboard cache. Monthly activity charts are computed during enrichment from indexed fill data, then served from the cached public stats payload.
Volume, Fees & Activity#
Total Volume sums indexed USD trading volume across fills. Orders Filled counts the number of indexed fill events. Total Fees sums estimated protocol fees paid across those fills after converting them to USD. These are activity metrics, not profitability metrics, so a month can have high volume and high fees even if traders lose money overall.
PnL & Profitability#
Platform Insights reuses the same PnL and win-rate definitions used across trader profiles and leaderboards, but it aggregates them across the trader population:
- Median PnL is the middle trader PnL in the all-time distribution.
- Top Trader PnL and Worst Trader PnL are the highest and lowest total trader PnL values in the current cache.
- Avg Win Rate is the arithmetic mean of each trader's win rate. It is not weighted by volume, trade count, or account size.
Winners & Losers#
Winners are traders with positive total PnL. Losers are traders with negative total PnL. Break-even wallets are excluded from both groups. Total Won sums positive PnL across profitable traders, while Total Lost sums the absolute value of negative PnL across losing traders. This section is about trader outcomes, not the count of individually winning trades.
Market Coverage#
Markets Tracked counts distinct markets with at least one indexed trade. Avg Markets / Trader is the arithmetic mean of distinct market counts across traders in the all-time base. It gives a quick sense of whether the population is more concentrated in a few markets or spread broadly across the venue.
Monthly Activity#
Monthly Trades counts indexed fill events per calendar month. Monthly Events counts distinct events with at least one indexed trade in that month, grouped by event identifier so multi-market events count once rather than once per market. The tooltip's Top event label is the busiest event in that month by indexed fill count.
Bot Participation#
Bot Volume Share measures what fraction of total platform USD volume came from wallets that meet Polyanna's bot filter threshold. It is a share of volume, not a share of wallets. The underlying bot score methodology is documented in Bot Detection.
Data Quality#
Platform Insights inherits the same cache refresh and validation flow used by the broader analytics system. After enrichment, Polyanna samples traders and cross-checks tx-hash completeness, trade counts, and volume against Polymarket's public data. The platform-level metrics themselves are then derived from that indexed fill base, so they share the same data-quality badge even though each derived metric is not independently validated against a second external API.
The `/platform` page is cache-backed. No live heavyweight analytics query runs when a user opens it; the API serves the most recent enrichment snapshot.
Accounts & Access#
Polyanna is open to browse, but some surfaces are more useful once you're signed in:
- Public browsing — leaderboards, trader profile headers, PnL charts, and the docs are available without an account.
- Free account — sign in to see trader profile details including the full Analysis section (market signals, performance breakdowns, strategy clues, bot-behavior context, and risk assessment), the Copyable Traders leaderboard, plus account tools like settings and API key management.
- Pro — upgrade to export leaderboard and profile data as CSV or JSON, filter leaderboards with advanced criteria across an expanded 100-trader dataset, save up to 10 traders to a personal watchlist, and receive real-time trade alerts via Telegram, email, or webhook.
You can sign up with email or Google to unlock the Analysis section on trader profiles and the Copyable Traders leaderboard. Pro features are available via a paid subscription from the billing page.
All data on Polyanna comes from publicly available on-chain activity. We do not have access to private order books or off-chain data.