Home/Methodology

Data & Methodology

Where PolyKal's Polymarket and Kalshi data comes from, how fill estimates and fees are computed, how often each page refreshes, and what the method cannot tell you.

What PolyKal is

PolyKal is a read-only research tool. It reads what Polymarket and Kalshi already publish, puts the two side by side, and shows its work: every number on the site carries the platform it came from and the time it was captured. PolyKal does not execute trades, hold funds, route orders, or give investment advice.

Data sources

  • Kalshi: the public Trade API (/trade-api/v2) for markets, events, order books, recent trades and per-series fee fields (fee_type, fee_multiplier). Kalshi order flow is anonymous by design; PolyKal never shows a Kalshi account identity because none is published.
  • Polymarket: the Gamma API for events, outcomes and per-market fee rates; the CLOB API for order books and prices; the Data API for public trades and top holders. Addresses shown are the public proxy wallets Polymarket itself exposes.
  • PolyKal's own capture: for leaderboard and whale profiles, PolyKal keeps its own record of publicly visible Polymarket fills. It covers a subset of addresses and a subset of their activity. An address that is missing, or shows few trades, is not evidence that the address is inactive.
  • Suspected matching events: a daily list of Polymarket/Kalshi candidate pairs produced by title similarity and settlement-time proximity. They are candidates, never a claim that two markets settle on the same terms.

Fill estimates and slippage

On the compare and event pages, PolyKal walks the top five visible price levels of the order book for the chosen side and amount ($1K, $5K, $10K or $50K) and reports:

  • Average fill price: dollars filled divided by shares filled across the levels consumed.
  • Filled amount and shortfall: if the five visible levels cannot absorb the requested amount, the estimate says so and the average is computed only on the part that filled.
  • Slippage: average fill price minus the best quoted price at the top of the book.
  • Fee: computed per platform from its published formula (see below), then after-fee cost per share = (dollars filled + fee) ÷ shares filled.

These are estimates from a snapshot of the public book. They do not model hidden liquidity, orders arriving between the snapshot and your order, or price levels beyond the five shown.

Fee models

fee = contracts × rate × price × (1 − price)

Both platforms charge a taker fee proportional to price × (1 − price), which peaks at 50¢. The differences are in the rate constant, the per-series multiplier, maker treatment and rounding:

  • Kalshi: rate 0.07 × a per-series fee multiplier (1 by default; 0 on fee-free series; the public series API also reports 0.5 on some sports series), rounded up to the next cent. Maker fees (0.0175) apply only on series flagged quadratic_with_maker_fees. PolyKal's estimates apply the multiplier returned by the series API and round per price level. Details: Kalshi fees explained.
  • Polymarket: rate by category (0.07 crypto, 0.05 sports/economics/culture/weather/other, 0.04 politics/finance/tech/mentions, 0 geopolitics); makers pay nothing; fees rounded to 5 decimals with a 0.00001 pUSD minimum. PolyKal uses the per-market rate exposed by the Gamma API. Details: Polymarket fees explained.

Kalshi perpetual contracts (a separate tiered schedule) and multi-event combination markets are not covered; PolyKal shows “—” rather than guessing.

Update frequency

  • Data pages are rebuilt about every 15 minutes. The footer of each page shows the exact capture time (“Data as of … ET, captured at build time”). Nothing on the site is a live feed unless it says so.
  • Order books on the compare and event pages can be refreshed by the visitor (10-second cooldown); the refresh timestamp is shown next to the book.
  • The large-trades feed re-queries the public trade endpoints in the browser about every 20 seconds.
  • Fee rates are checked automatically every day: Polymarket's against real on-chain fee deductions in each category, and Kalshi's against the fee multipliers in its public series API. Each platform's official fee documents are also reviewed by hand, at least monthly for Kalshi and at least quarterly for Polymarket, and whenever either platform announces a change. Each fee page shows its last-verified date.

Known limitations

  • No automatic cross-platform matching. PolyKal does not decide that a Polymarket market and a Kalshi market are the same bet. Suspected pairs are labelled as candidates; you compare the rules yourself.
  • Partial whale coverage. Leaderboards and profiles reflect the fills PolyKal has captured, not a complete history of any address.
  • Daily price history. Neither platform publishes hourly history through its public API, so probability charts are daily.
  • Fee simplification. Per-level cent rounding and the standard taker formula only; perpetuals and combination markets excluded.
  • Snapshots, not real time. Every figure is as of the timestamp shown on the page.

Corrections

If you find a number that does not match the platform's own page, email [email protected] with the URL and the platform screenshot. Confirmed errors are fixed in the next build and noted on the affected page.

Independent tool. Not affiliated with, endorsed by, or operated by Polymarket or Kalshi. Data from public sources. Not financial advice.

About this page
Written by
PolyKal research team
Reviewed by
PolyKal data engineering
Last reviewed
2026-09-03
Sources
Kalshi public API & fee schedule (2026-07-07); Polymarket Gamma / CLOB / Data API; Polymarket Help Center (2026-07-10)
Polymarket & Kalshi Fee CalculatorEnter a contract count and price to see each platform's exact trading fee, taker or maker, from its published fee formula. Open the calculator →
© 2026 PolyKal. All rights reserved.
About PolyKalWhere to use Polymarket & KalshiMidtermsLeaderboardTopicsPrivacyTerms
Methodology
Data & Methodology

Where PolyKal's Polymarket and Kalshi data comes from, how fill estimates and fees are computed, how often each page refreshes, and what the method cannot tell you.

What PolyKal is

PolyKal is a read-only research tool. It reads what Polymarket and Kalshi already publish, puts the two side by side, and shows its work: every number on the site carries the platform it came from and the time it was captured. PolyKal does not execute trades, hold funds, route orders, or give investment advice.

Data sources

  • Kalshi: the public Trade API (/trade-api/v2) for markets, events, order books, recent trades and per-series fee fields (fee_type, fee_multiplier). Kalshi order flow is anonymous by design; PolyKal never shows a Kalshi account identity because none is published.
  • Polymarket: the Gamma API for events, outcomes and per-market fee rates; the CLOB API for order books and prices; the Data API for public trades and top holders. Addresses shown are the public proxy wallets Polymarket itself exposes.
  • PolyKal's own capture: for leaderboard and whale profiles, PolyKal keeps its own record of publicly visible Polymarket fills. It covers a subset of addresses and a subset of their activity. An address that is missing, or shows few trades, is not evidence that the address is inactive.
  • Suspected matching events: a daily list of Polymarket/Kalshi candidate pairs produced by title similarity and settlement-time proximity. They are candidates, never a claim that two markets settle on the same terms.

Fill estimates and slippage

On the compare and event pages, PolyKal walks the top five visible price levels of the order book for the chosen side and amount ($1K, $5K, $10K or $50K) and reports:

  • Average fill price: dollars filled divided by shares filled across the levels consumed.
  • Filled amount and shortfall: if the five visible levels cannot absorb the requested amount, the estimate says so and the average is computed only on the part that filled.
  • Slippage: average fill price minus the best quoted price at the top of the book.
  • Fee: computed per platform from its published formula (see below), then after-fee cost per share = (dollars filled + fee) ÷ shares filled.

These are estimates from a snapshot of the public book. They do not model hidden liquidity, orders arriving between the snapshot and your order, or price levels beyond the five shown.

Fee models

fee = contracts × rate × price × (1 − price)

Both platforms charge a taker fee proportional to price × (1 − price), which peaks at 50¢. The differences are in the rate constant, the per-series multiplier, maker treatment and rounding:

  • Kalshi: rate 0.07 × a per-series fee multiplier (1 by default; 0 on fee-free series; the public series API also reports 0.5 on some sports series), rounded up to the next cent. Maker fees (0.0175) apply only on series flagged quadratic_with_maker_fees. PolyKal's estimates apply the multiplier returned by the series API and round per price level. Details: Kalshi fees explained.
  • Polymarket: rate by category (0.07 crypto, 0.05 sports/economics/culture/weather/other, 0.04 politics/finance/tech/mentions, 0 geopolitics); makers pay nothing; fees rounded to 5 decimals with a 0.00001 pUSD minimum. PolyKal uses the per-market rate exposed by the Gamma API. Details: Polymarket fees explained.

Kalshi perpetual contracts (a separate tiered schedule) and multi-event combination markets are not covered; PolyKal shows “—” rather than guessing.

Update frequency

  • Data pages are rebuilt about every 15 minutes. The footer of each page shows the exact capture time (“Data as of … ET, captured at build time”). Nothing on the site is a live feed unless it says so.
  • Order books on the compare and event pages can be refreshed by the visitor (10-second cooldown); the refresh timestamp is shown next to the book.
  • The large-trades feed re-queries the public trade endpoints in the browser about every 20 seconds.
  • Fee rates are checked automatically every day: Polymarket's against real on-chain fee deductions in each category, and Kalshi's against the fee multipliers in its public series API. Each platform's official fee documents are also reviewed by hand, at least monthly for Kalshi and at least quarterly for Polymarket, and whenever either platform announces a change. Each fee page shows its last-verified date.

Known limitations

  • No automatic cross-platform matching. PolyKal does not decide that a Polymarket market and a Kalshi market are the same bet. Suspected pairs are labelled as candidates; you compare the rules yourself.
  • Partial whale coverage. Leaderboards and profiles reflect the fills PolyKal has captured, not a complete history of any address.
  • Daily price history. Neither platform publishes hourly history through its public API, so probability charts are daily.
  • Fee simplification. Per-level cent rounding and the standard taker formula only; perpetuals and combination markets excluded.
  • Snapshots, not real time. Every figure is as of the timestamp shown on the page.

Corrections

If you find a number that does not match the platform's own page, email [email protected] with the URL and the platform screenshot. Confirmed errors are fixed in the next build and noted on the affected page.

Independent tool. Not affiliated with, endorsed by, or operated by Polymarket or Kalshi. Data from public sources. Not financial advice.

About this page
Written by
PolyKal research team
Reviewed by
PolyKal data engineering
Last reviewed
2026-09-03
Sources
Kalshi public API & fee schedule (2026-07-07); Polymarket Gamma / CLOB / Data API; Polymarket Help Center (2026-07-10)
Polymarket & Kalshi Fee CalculatorEnter a contract count and price to see each platform's exact trading fee, taker or maker, from its published fee formula.
Home Compare Topics Calculator
Data is based on publicly visible on-chain and trading activity across platforms. For research reference only — not investment advice. Past performance does not indicate future results.