Kalshi Retail Tracker
DashboardLeaderboardMethodology

Mock demo cohort — sample data, not real traders

Documentation

Methodology & Docs

How Kalshi Retail Trackeringests Kalshi trades, computes P&L, and publishes a transparent, reproducible leaderboard for retail prediction-market traders.

kalshivswallstreet.com28-day windowRead-only API ingestionPublic leaderboard

On this page

1. Purpose & scope2. Challenge design3. How to join4. Data collection5. Ingestion pipeline6. P&L & metrics7. Leaderboard8. Public vs private9. Mock vs live10. Limitations11. Disclaimer12. Reproducibility

Section 01

Purpose & scope

What this site is — and what it isn't.

Prediction markets like Kalshi let individuals trade contracts on real-world outcomes. Retail participation has grown quickly, but public performance data is scarce — most traders have no way to prove their track record, and observers have no standardized way to evaluate whether a cohort of retail traders is collectively skilled or lucky over a fixed window.

Kalshi Retail Tracker addresses that gap. We track a voluntary cohort of Kalshi participants for exactly 28 calendar days, ingest every trade automatically via read-only API keys, and publish aggregate and per-trader performance on a public dashboard.

Section 02

Challenge design

Fixed window, voluntary participation, equal treatment.

Window length

28 days

Fixed start & end

Cohort size

Open

Anyone with API key

Treatment

Identical

No exclusions or weighting

Each participant is tracked from an admin-configured start date through an end date 28 days later. Trades before the start date are excluded from ROI calculations. There is no login or account system on this site — anyone can view public results, and tracking begins on your approval date or the cohort start date, whichever is later.

Section 03

How to join

Five steps from sign-up to public profile.

  1. 1Create a read-only API key in your Kalshi account settings. Grant only Read permissions — never trading or withdrawal access.
  2. 2Set a 30-day key expiration so access auto-revokes shortly after the challenge ends.
  3. 3Click Join tracker and submit your email, Kalshi username, API key ID, and private key. Display name is optional — leave it blank to appear as Anonymous.
  4. 4Your submission is saved to a pending queue. An administrator reviews your API key and approves your profile manually.
  5. 5After admin approval, sync jobs pull your fills and positions. Your public profile goes live.

Read-only keys only

We strongly recommend creating keys with only Read scope. Administrators reject keys with detectable write/trading permissions during manual review.

Section 04

Data collection

What we pull, what we never touch.

Collected

  • Trade fills (market, side, price, qty, fees, time)
  • Open positions & mark-to-market
  • Closed positions with realized P&L
  • Public market metadata & outcomes
  • Balance history (where available)

Never collected

  • Kalshi login passwords
  • Bank, deposit, or withdrawal details
  • Trading-enabled API keys
  • Private messages or account settings
  • PII beyond your email and chosen display name

Raw API responses are stored in a JSON column on each trade row for reproducibility. Trades are immutable once ingested — neither participants nor administrators can edit historical fills retroactively. Sync runs are logged with timestamps, user counts, and error messages.

Section 05

Ingestion pipeline

From your fills to the dashboard, in five steps.

After approval, our server uses your read-only API key to poll Kalshi's trade API. On Vercel Hobby tier, syncs are triggered manually from the admin panel; on Pro tier, a scheduled cron automates this every few hours.

  1. Step 1

    Fetch

    New fills since tracking start

  2. Step 2

    Upsert

    Dedupe by Kalshi fill ID

  3. Step 3

    Snapshot

    Refresh open & closed positions

  4. Step 4

    Aggregate

    Recompute daily metrics

  5. Step 5

    Audit

    Log sync run with status

Key handling

API keys are stored server-side only and are never returned in UI or public API responses. We recommend rotating or deleting keys in Kalshi when the challenge ends.

Section 06

P&L & performance metrics

Every formula, defined once and applied to everyone.

Realized P&L

settlement − cost basis − fees

For resolved markets only.

Unrealized P&L

(mark − avg price) × qty

Open positions, marked to mid.

ROI

(realized + unrealized) ÷ volume × 100

Common denominator across users.

Win rate

wins ÷ resolved positions

Open positions excluded.

Max drawdown

peak − trough on cumulative ROI

Reported in percentage points.

Volatility

stdev of daily returns

Higher = wilder swings.

The dashboard chart plots daily cumulative ROI for the retail cohort average. Time ranges are limited to 1W, 2W, 3W, 4W, and All — matching the challenge length. Values are net of estimated fees.

Section 07

Leaderboard ranking

Default sort, alternates, and tie-breaks.

The default sort is cumulative ROI over the challenge window. Alternative sorts include absolute P&L, risk-adjusted return, volume, win rate, and number of distinct markets traded. Rankings update after each successful sync.

Ties are broken by higher absolute P&L, then earlier join date. Participants who deactivate or are removed by an admin remain in historical data but are excluded from live leaderboard views.

Section 08

Public vs private data

What anyone can see — and what stays server-side.

FieldVisibility
Display name, Kalshi usernamePublic
P&L, ROI, trades, positionsPublic
Leaderboard rank, category statsPublic
API key ID & private keyServer-only
Sync logs, approval audit trailAdmin-only

Section 09

Mock vs live data modes

Two views, identical formulas, different participants.

Mock demo

20 fictional traders

~1,200 synthetic trades across politics, economics, crypto, and sports markets. Useful for exploring the UI before real participants join.

Live data

Approved real traders

Only participants who submitted valid read-only Kalshi API keys and were approved by an administrator.

Demo users are flagged with is_demo = true. Live users have a stored API key and is_demo = false. The two cohorts never mix in a single view.

Section 10

Known limitations

Things to keep in mind when reading the numbers.

  • Kalshi fee schedules may differ slightly from our estimates in edge cases (partial fills, fee promotions).
  • Mark-to-market on illiquid contracts can swing unrealized P&L without a trade.
  • Read-only keys prove account ownership but cannot prevent someone from creating a fresh Kalshi account solely for the challenge.
  • Sync frequency on Hobby Vercel is manual — there may be hours between updates unless an admin triggers a sync.
  • Four weeks of performance does not predict future results. Sample size for any single trader may be too small for statistical significance.

Section 11

Disclaimer

Read this before drawing any conclusions.

Not investment advice

Kalshi Retail Tracker is an independent research and transparency project. It is not affiliated with Kalshi, not investment advice, and not a recommendation to trade prediction markets. Past performance does not guarantee future results. Trade only with capital you can afford to lose.

Section 12

Reproducibility & contact

If a number looks wrong, we want to know.

Methodology, metric definitions, and ingestion code are published in the project repository. If you believe a number on the dashboard is incorrect, note the participant slug, date, and metric — we can trace it to the underlying fill rows and raw API payload.

Last updated: May 2026 · Challenge window: 28 days · Data source: Kalshi Trade API (read-only)

Kalshi Retail Tracker

© 2026 · kalshivswallstreet.com

DashboardLeaderboardMethodology