Fair prices · Lab
Settlis Lab: untailored analytics, built to be shared
What it costs to trade on Kalshi, Polymarket and Novig, where the retail flow is, and what crossing the spread has cost against fair, measured from each exchange's own trades. The same numbers for every visitor, published once a night.
- Version 2026-10-15
- 90-day trailing window, trading before each start
- Updated nightly ~15:30 UTC
- Published 15 Oct 2026, 15:32 UTC (6h ago)
- Methodology lab-m1
- Kalshi · 5h old
- Polymarket · 11h old
- Novig · 5h old
Age of each exchange’s newest trade when this edition was published.
What it costs to trade
Each exchange's published fee per contract on a 100-contract order, across the price of a contract. Move the slider to compare them at one price.
- Kalshi
- Polymarket
- Novig
- 1.75¢Kalshi
- 1.74¢Polymarket
- 0¢Novig
- 0.44¢Kalshi
- −0.31¢Polymarket
- 0¢Novig
Lowest taker fee at 50¢: Novig, no fee.
Lowest maker fee at 50¢: Polymarket, 0.31¢ rebate.
Fees only. The price on offer differs from one exchange to the next, so the lowest fee is not always the lowest cost. Kalshi’s maker fee applies only on series that charge one (see how each exchange charges, below).
| Exchange | Order | 10¢ | 25¢ | 50¢ | 75¢ | 90¢ |
|---|---|---|---|---|---|---|
| Kalshi | Taker | 0.63¢ | 1.32¢ | 1.75¢ | 1.32¢ | 0.63¢ |
| Maker | 0.16¢ | 0.33¢ | 0.44¢ | 0.33¢ | 0.16¢ | |
| Polymarket | Taker | 0.63¢ | 1.3¢ | 1.74¢ | 1.3¢ | 0.63¢ |
| Maker | −0.11¢ | −0.23¢ | −0.31¢ | −0.23¢ | −0.11¢ | |
| Novig | Taker | 0¢ | 0¢ | 0¢ | 0¢ | 0¢ |
| Maker | 0¢ | 0¢ | 0¢ | 0¢ | 0¢ |
How each exchange charges
Kalshi
Taker: 0.07 × contracts × P × (1 − P) dollars, rounded up to the next cent per order.
Maker: 0.0175 × contracts × P × (1 − P) dollars, rounded up to the next cent per order, only on series whose exchange fee type includes maker fees. Series in this window confirmed to charge maker fees are listed; the list may be incomplete, so check the exchange's fee type for a given series.
- Fees round up per order, so any order that pays a fee pays at least 1¢.
- Shown per contract for a 100-contract order; a smaller order can pay more per contract because of rounding.
- Some series carry a fee multiplier that scales both fees; the curve shows a multiplier of 1.
- Series in this window with a fee multiplier other than 1: KXMLBEXTRAS 0.5×, KXMLBF3 0.5×, KXMLBF5 0.5×, KXMLBF5SPREAD 0.5×, KXMLBF5TOTAL 0.5×, KXMLBF7 0.5×, KXMLBGAME 0.5×, KXMLBHIT 0.5×, KXMLBHR 0.5×, KXMLBHRR 0.5×, KXMLBKS 0.5×, KXMLBOUTS 0.5×, KXMLBRBI 0.5×, KXMLBRFI 0.5×, KXMLBSB 0.5×, KXMLBSPREAD 0.5×, KXMLBTB 0.5×, KXMLBTEAMTOTAL 0.5×, KXMLBTOTAL 0.5×.
- The exchange's own series fee type is authoritative.
Series in this window confirmed to charge maker fees: KXATPMATCH, KXBUNDESLIGAGAME, KXEPLGAME, KXF1RACE, KXF1RACEPODIUM, KXLALIGAGAME, KXLIGUE1GAME, KXMLB, KXMLBGAME, KXMLBSERIES, KXNASCARRACE, KXNBAGAME, KXNBASPREAD, KXNBATOTAL, KXNCAAFGAME, KXNCAAFSPREAD, KXNCAAFTOTAL, KXNFLFIRSTTD, KXNFLGAME, KXNFLSPREAD, KXNFLTOTAL, KXNHLGAME, KXPGATOUR, KXSERIEAGAME, KXUCLGAME, KXWNBAGAME, KXWTAMATCH.
Polymarket
Taker: Θ × contracts × P × (1 − P) dollars, rounded to the nearest cent (half to even); Θ = 0.0695 since 2026-09-17 03:59 UTC (0.06 before).
Maker: A rebate of 0.0125 × contracts × P × (1 − P) dollars, applied at the trade (shown as a negative fee).
- Shown per contract for a 100-contract order.
- The taker coefficient follows the published schedule below; the curve uses the one in force at publication.
- From 1 Jul 2026: taker Θ 0.06, maker Θ −0.0125 (a rebate when negative).
- From 17 Sep 2026, 03:59 UTC: taker Θ 0.0695, maker Θ −0.0125 (a rebate when negative).
Novig
Taker: No fee on fills before the event starts.
Maker: No fee.
- Novig charges takers only on fills while the event is live; the Lab covers fills before the start only.
Where the flow is
How many contracts change hands in retail-sized orders, league by league and exchange by exchange, and how much trades in blocks.
| Exchange | Retail contracts | Block | Events |
|---|---|---|---|
| Football | |||
| NFL | |||
| Kalshi | ≈ 3,959,013 per slate102,934,336 in 90 daysat least | 87% | ≥ 111 |
| Polymarket | ≈ 6,689,644 per slate127,103,242 in 90 daysat most | — | ≥ 92 |
| Novig | ≈ 1,248,715 per slate28,720,441 in 90 daysmeasured | 93% | ≥ 108 |
| Soccer | |||
| La Liga | |||
| Kalshi | ≈ 332,357 per slate11,632,503 in 90 daysat least | 87% | ≥ 80 |
| Polymarket | ≈ 10,776 per slate150,859 in 90 daysat most | — | ≥ 30 |
| Novig | ≈ 22,069 per slate463,449 in 90 daysmeasured | 92% | ≥ 50 |
| Premier League | |||
| Kalshi | ≈ 497,620 per slate9,952,394 in 90 daysat least | 87% | ≥ 60 |
| Polymarket | ≈ 11,437 per slate102,936 in 90 daysat most | — | ≥ 27 |
| Novig | ≈ 44,311 per slate664,670 in 90 daysmeasured | 90% | ≥ 49 |
| Liga MX | |||
| Kalshi | ≈ 265,696 per slate9,565,054 in 90 daysat least | 77% | ≥ 94 |
| Champions League | |||
| Kalshi | ≈ 536,735 per slate8,587,763 in 90 daysat least | 87% | ≥ 70 |
| Novig | ≈ 118,433 per slate710,600 in 90 daysmeasured | 90% | ≥ 36 |
| MLS | |||
| Kalshi | ≈ 269,280 per slate8,078,387 in 90 daysat least | 85% | ≥ 214 |
| Polymarket | ≈ 3,810 per slate49,530 in 90 daysat most | — | ≥ 49 |
| Novig | ≈ 29,754 per slate505,816 in 90 daysmeasured | 92% | ≥ 105 |
| Serie A | |||
| Kalshi | ≈ 122,110 per slate2,197,979 in 90 daysat least | 90% | ≥ 52 |
| Novig | ≈ 13,459 per slate174,966 in 90 daysmeasured | 90% | ≥ 32 |
| Ligue 1 | |||
| Kalshi | ≈ 68,100 per slate1,293,900 in 90 daysat least | 87% | ≥ 53 |
| Novig | ≈ 9,482 per slate142,226 in 90 daysmeasured | 89% | ≥ 35 |
| Bundesliga | |||
| Kalshi | ≈ 87,944 per slate1,055,326 in 90 daysat least | 91% | ≥ 36 |
| Novig | ≈ 10,034 per slate110,371 in 90 daysmeasured | 87% | ≥ 27 |
| EFL Championship | |||
| Kalshi | ≈ 33,913 per slate440,873 in 90 daysat least | 83% | ≥ 60 |
| UEFA Nations League | |||
| Polymarket | ≈ 16,659 per slate199,912 in 90 daysat most | — | ≥ 79 |
| Novig | ≈ 35,165 per slate210,991 in 90 daysmeasured | 90% | ≥ 49 |
| Europa League | |||
| Novig | ≈ 10,042 per slate20,084 in 90 daysmeasured | 76% | ≥ 27 |
| Baseball | |||
| MLB | |||
| Kalshi | ≈ 1,945,198 per slate169,232,204 in 90 daysat least | 88% | ≥ 1,015 |
| Polymarket | ≈ 191,051 per slate12,227,283 in 90 daysat most | — | ≥ 573 |
| Novig | ≈ 736,256 per slate34,604,052 in 90 daysmeasured | 92% | ≥ 546 |
- at least:
- A floor. Kalshi's trade record here comes from a crawl that stops early on busy markets, so the true count is higher.
- at most:
- A ceiling. Polymarket's data comes as volume bars, which cannot separate block trades from retail ones, so all of its volume is counted as retail.
- measured:
- Measured. Novig's trades are recorded in full.
- ≈ per slate:
- An estimate: retail contracts in the window divided by the slates (game days, by US Eastern start date) counted. The slate count is a lower bound, so this figure can read high.
- Total in 90 days:
- Contracts traded in retail-sized orders in the window, before each start. The label says how complete the exchange's record is.
- Events:
- Distinct events with trades in the window: at least this many.
This figure carries no bound label, so read it with care.
Crossing vs fair
What a taker order has cost against the Settlis fair price, after the exchange's fee, in cents a contract. For each trade it is the fair price at that moment, minus the price paid, minus the fee. A negative number is a cost.
The dot is the average and the line is its 95% range, worked out event by event. Every bar sits on one cents scale. A time window needs at least 20 events for a figure; a thinner one says so and shows no number.
NFL · Kalshi15 figures in 4 market families · averages from −2.60¢ to −1.31¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXNFLGAME | |
| More than 72h | −1.64¢−1.92 to −1.37 · ≥ 53 events |
| 24 to 72h | −1.69¢−2.04 to −1.33 · ≥ 56 events |
| 6 to 24h | −1.65¢−2.12 to −1.19 · ≥ 59 events |
| 1 to 6h | −1.70¢−1.92 to −1.48 · ≥ 63 events |
| Last hour | −2.05¢−2.31 to −1.80 · ≥ 66 events |
| KXNFLPASSTDS | |
| More than 72h | Too few events |
| 24 to 72h | −2.43¢−3.52 to −1.34 · ≥ 24 events |
| 6 to 24h | −2.25¢−2.80 to −1.69 · ≥ 34 events |
| 1 to 6h | −2.08¢−2.76 to −1.41 · ≥ 42 events |
| Last hour | −2.60¢−3.37 to −1.84 · ≥ 43 events |
| KXNFLREC | |
| 24 to 72h | −1.31¢−3.64 to +1.03 · ≥ 32 events |
| 6 to 24h | −1.84¢−2.83 to −0.85 · ≥ 32 events |
| 1 to 6h | −1.66¢−2.86 to −0.46 · ≥ 40 events |
| Last hour | −1.71¢−2.46 to −0.97 · ≥ 40 events |
| KXNFLTOTAL | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | Too few events |
| 1 to 6h | −1.99¢−2.39 to −1.58 · ≥ 21 events |
| Last hour | −2.37¢−2.84 to −1.90 · ≥ 22 events |
| KXNFLRECYDS | |
| All 5 windows | Too few events |
| KXNFLRSHYDS | |
| All 5 windows | Too few events |
| KXNFLPASSYDS | |
| 4 windows | Too few events · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
Champions League · Kalshi12 figures in 3 market families · averages from −2.53¢ to −1.67¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXUCLGAME | |
| More than 72h | −2.14¢−3.47 to −0.82 · ≥ 27 events |
| 24 to 72h | −2.35¢−3.01 to −1.68 · ≥ 39 events |
| 6 to 24h | −1.94¢−2.44 to −1.44 · ≥ 45 events |
| 1 to 6h | −1.83¢−2.20 to −1.46 · ≥ 44 events |
| Last hour | −2.15¢−2.47 to −1.83 · ≥ 44 events |
| KXUCLBTTS | |
| 24 to 72h | −1.67¢−2.97 to −0.36 · ≥ 23 events |
| 6 to 24h | −1.85¢−2.23 to −1.47 · ≥ 36 events |
| 1 to 6h | −1.95¢−2.74 to −1.16 · ≥ 36 events |
| Last hour | −2.39¢−2.84 to −1.95 · ≥ 36 events |
| KXUCLTOTAL | |
| 24 to 72h | Too few events |
| 6 to 24h | −2.04¢−2.92 to −1.16 · ≥ 21 events |
| 1 to 6h | −2.06¢−2.44 to −1.68 · ≥ 20 events |
| Last hour | −2.53¢−3.03 to −2.03 · ≥ 21 events |
La Liga · Kalshi12 figures in 3 market families · averages from −3.27¢ to −2.27¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXLALIGAGAME | |
| More than 72h | −2.61¢−3.35 to −1.87 · ≥ 49 events |
| 24 to 72h | −2.81¢−3.30 to −2.31 · ≥ 52 events |
| 6 to 24h | −2.71¢−3.28 to −2.15 · ≥ 53 events |
| 1 to 6h | −2.43¢−2.97 to −1.89 · ≥ 53 events |
| Last hour | −2.42¢−2.79 to −2.04 · ≥ 54 events |
| KXLALIGABTTS | |
| More than 72h | Too few events |
| 24 to 72h | −3.27¢−4.96 to −1.57 · ≥ 22 events |
| 6 to 24h | −2.57¢−3.09 to −2.05 · ≥ 47 events |
| 1 to 6h | −2.46¢−2.89 to −2.02 · ≥ 47 events |
| Last hour | −2.77¢−3.15 to −2.39 · ≥ 48 events |
| KXLALIGATOTAL | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.39¢−2.92 to −1.85 · ≥ 29 events |
| 1 to 6h | −2.65¢−3.07 to −2.24 · ≥ 33 events |
| Last hour | −2.27¢−2.52 to −2.01 · ≥ 34 events |
MLS · Kalshi12 figures in 3 market families · averages from −2.94¢ to +0.53¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXMLSGAME | |
| More than 72h | −2.52¢−3.39 to −1.65 · ≥ 83 events |
| 24 to 72h | −1.82¢−2.57 to −1.08 · ≥ 109 events |
| 6 to 24h | −1.99¢−2.43 to −1.54 · ≥ 135 events |
| 1 to 6h | −2.38¢−2.63 to −2.13 · ≥ 127 events |
| Last hour | −2.66¢−3.08 to −2.25 · ≥ 132 events |
| KXMLSBTTS | |
| More than 72h | Too few events |
| 24 to 72h | +0.53¢−0.76 to +1.83 · ≥ 22 events |
| 6 to 24h | −2.02¢−2.41 to −1.62 · ≥ 71 events |
| 1 to 6h | −2.64¢−3.07 to −2.21 · ≥ 92 events |
| Last hour | −2.68¢−2.98 to −2.38 · ≥ 103 events |
| KXMLSTOTAL | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.25¢−3.67 to −0.83 · ≥ 36 events |
| 1 to 6h | −2.94¢−3.21 to −2.67 · ≥ 54 events |
| Last hour | −2.40¢−2.87 to −1.92 · ≥ 68 events |
Premier League · Kalshi12 figures in 3 market families · averages from −2.86¢ to −2.16¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXEPLGAME | |
| More than 72h | −2.78¢−3.34 to −2.23 · ≥ 46 events |
| 24 to 72h | −2.80¢−3.34 to −2.25 · ≥ 46 events |
| 6 to 24h | −2.53¢−2.86 to −2.20 · ≥ 47 events |
| 1 to 6h | −2.28¢−2.66 to −1.89 · ≥ 47 events |
| Last hour | −2.34¢−2.59 to −2.09 · ≥ 47 events |
| KXEPLBTTS | |
| More than 72h | Too few events |
| 24 to 72h | −2.54¢−3.02 to −2.07 · ≥ 26 events |
| 6 to 24h | −2.46¢−2.82 to −2.09 · ≥ 40 events |
| 1 to 6h | −2.46¢−2.86 to −2.06 · ≥ 38 events |
| Last hour | −2.86¢−3.20 to −2.52 · ≥ 40 events |
| KXEPLTOTAL | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.39¢−2.75 to −2.03 · ≥ 27 events |
| 1 to 6h | −2.16¢−2.47 to −1.84 · ≥ 31 events |
| Last hour | −2.47¢−2.76 to −2.17 · ≥ 33 events |
Serie A · Kalshi11 figures in 3 market families · averages from −2.62¢ to −1.79¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXSERIEAGAME | |
| More than 72h | −1.79¢−2.94 to −0.63 · ≥ 31 events |
| 24 to 72h | −2.17¢−2.58 to −1.76 · ≥ 23 events |
| 6 to 24h | −2.48¢−2.91 to −2.06 · ≥ 35 events |
| 1 to 6h | −2.41¢−2.83 to −2.00 · ≥ 34 events |
| Last hour | −2.59¢−3.10 to −2.07 · ≥ 35 events |
| KXSERIEABTTS | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.51¢−2.84 to −2.17 · ≥ 30 events |
| 1 to 6h | −2.33¢−3.06 to −1.60 · ≥ 32 events |
| Last hour | −2.62¢−3.19 to −2.06 · ≥ 32 events |
| KXSERIEATOTAL | |
| 24 to 72h | Too few events |
| 6 to 24h | −1.99¢−2.50 to −1.48 · ≥ 22 events |
| 1 to 6h | −2.59¢−3.22 to −1.96 · ≥ 23 events |
| Last hour | −2.33¢−2.78 to −1.87 · ≥ 25 events |
Liga MX · Kalshi10 figures in 3 market families · averages from −2.90¢ to −2.14¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXLIGAMXGAME | |
| More than 72h | −2.14¢−2.83 to −1.44 · ≥ 45 events |
| 24 to 72h | −2.55¢−3.14 to −1.96 · ≥ 43 events |
| 6 to 24h | −2.58¢−3.22 to −1.94 · ≥ 50 events |
| 1 to 6h | −2.55¢−2.96 to −2.15 · ≥ 50 events |
| Last hour | −2.41¢−2.77 to −2.04 · ≥ 50 events |
| KXLIGAMXBTTS | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.49¢−3.25 to −1.74 · ≥ 29 events |
| 1 to 6h | −2.90¢−3.29 to −2.52 · ≥ 39 events |
| Last hour | −2.80¢−3.14 to −2.47 · ≥ 41 events |
| KXLIGAMXTOTAL | |
| 24 to 72h | Too few events |
| 6 to 24h | Too few events |
| 1 to 6h | −2.45¢−2.99 to −1.91 · ≥ 31 events |
| Last hour | −2.56¢−2.73 to −2.39 · ≥ 38 events |
Ligue 1 · Kalshi10 figures in 3 market families · averages from −2.95¢ to −1.66¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXLIGUE1GAME | |
| More than 72h | −2.95¢−3.37 to −2.53 · ≥ 21 events |
| 24 to 72h | −1.79¢−2.53 to −1.06 · ≥ 21 events |
| 6 to 24h | −2.45¢−3.21 to −1.69 · ≥ 40 events |
| 1 to 6h | −2.48¢−3.00 to −1.96 · ≥ 40 events |
| Last hour | −2.90¢−3.26 to −2.54 · ≥ 40 events |
| KXLIGUE1BTTS | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.13¢−2.44 to −1.83 · ≥ 31 events |
| 1 to 6h | −2.33¢−2.58 to −2.09 · ≥ 31 events |
| Last hour | −2.62¢−3.10 to −2.13 · ≥ 35 events |
| KXLIGUE1TOTAL | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −1.66¢−2.18 to −1.14 · ≥ 23 events |
| 1 to 6h | Too few events |
| Last hour | −2.32¢−2.98 to −1.66 · ≥ 25 events |
Bundesliga · Kalshi7 figures in 3 market families · averages from −2.57¢ to −1.17¢
| Time to start | Net against fair after fees, in cents a contract: the average and its 95% range |
|---|---|
| KXBUNDESLIGABTTS | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −1.89¢−2.39 to −1.38 · ≥ 25 events |
| 1 to 6h | −2.26¢−2.74 to −1.79 · ≥ 26 events |
| Last hour | −2.57¢−3.05 to −2.09 · ≥ 27 events |
| KXBUNDESLIGAGAME | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | −2.57¢−2.98 to −2.17 · ≥ 29 events |
| 1 to 6h | −1.17¢−2.12 to −0.22 · ≥ 29 events |
| Last hour | −2.07¢−3.08 to −1.06 · ≥ 29 events |
| KXBUNDESLIGATOTAL | |
| More than 72h | Too few events |
| 24 to 72h | Too few events |
| 6 to 24h | Too few events |
| 1 to 6h | Too few events |
| Last hour | −2.48¢−2.78 to −2.19 · ≥ 20 events |
Each row pools both sides and every line of a market family on one exchange. A market family carries the exchange's own name for it. Leagues and market families with no figure are in the cohort explorer below, each with the reason.
Cohort explorer
Every group of markets the Lab looked at: a market family on one exchange, in one window of time before the start. Where there is no crossing figure, the reason is shown in its place.
UEFA Nations LeagueSoccer
0 of 45 cells carry a crossing figure in this view. The rest: Nothing independent to compare with (40) · No fair price (3) · Not measured (2).
- Novig, listed as UEFA-Nations-League: 13 market families; start time known for 100% of the contracts traded; a fair price at the moment of the trade for 0% of the contracts traded where trades are recorded one by one; 100% of its cells carry no crossing figure.
- Polymarket, listed as UNL: 1 market family; start time known for 100% of the contracts traded; volume bars only, so no single trade is priced against fair; 100% of its cells carry no crossing figure.
| Time to start | Why there is no figure |
|---|---|
| Polymarket · g | |
| 2 windows | Not measured · 1 to 6h, Last hour |
| Novig · Assists | |
| 2 windows | Nothing independent to compare with · 6 to 24h, Last hour |
| Novig · Both Teams To Score | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · First Goal Scorer | |
| 3 windows | Nothing independent to compare with · 6 to 24h, 1 to 6h, Last hour |
| Novig · Fouls | |
| 2 windows | No fair price · 1 to 6h, Last hour |
| Novig · Goals Assists | |
| 1 to 6h | No fair price |
| Last hour | Nothing independent to compare with |
| Novig · Moneyline 3 Way Draw | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · Moneyline 3 Way Win | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · Player Goals | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · Shots On Target | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · Spread | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · Team Total Corners | |
| 3 windows | Nothing independent to compare with · 6 to 24h, 1 to 6h, Last hour |
| Novig · Total | |
| 4 windows | Nothing independent to compare with · 24 to 72h, 6 to 24h, 1 to 6h, Last hour |
| Novig · Total Corners | |
| 3 windows | Nothing independent to compare with · 6 to 24h, 1 to 6h, Last hour |
786 Kalshi series are not matched to a league, so they are left out of these lists. None of them carries a figure. Why: Start time unknown (786).
Why a cell has no number
- Too few events.
- Not enough events: fewer than 20 stand behind it, so no number is shown.
- Start time unknown.
- The true start of the event could not be confirmed, so trades made before the start cannot be told from trades made during play.
- No fair price.
- There was no fair price at the time of the trades to compare them with.
- Nothing independent to compare with.
- The only yardstick was the market's own closing price or its result. Measuring a price against itself says nothing, so it is not shown.
- Fair price too sparse.
- Too few of the trades had a fair price recorded at the same moment.
- Off the main line.
- The market is an alternate line away from the main one.
- Not measured.
- The Lab could not measure it reliably: the fee could not be confirmed, or the data comes as volume bars with no single trades to price.
This edition gives a reason this page does not know yet, so no number is shown.
A time window that is not listed for a market family had no trades.
What moved since the last edition
Crossing figures that changed by a cent or more from one nightly edition to the next, where both had at least 20 events.
No crossing figure moved by a cent or more since the 2026-10-13 edition.
Methodology and limits
How the figures on this page are made, and what they cannot tell you.
- What the window covers.
- The last 90 days of trading, and only trades made before each event's start. Nothing from during play is used. It is not a settled-only record: Kalshi's trades are collected once a market has settled, but Novig's are collected as they happen, so the window can include trading on events that have not started yet. The chips at the top of the page show how recent each exchange's data is.
- Ranges are worked out event by event.
- Trades in the same event move together, so a 95% range treats each event, not each trade, as one observation. That makes it wider, and more honest. Where a figure pools both sides or several lines of a market family, its range is an approximation, built to err on the wide side.
- Events are counted as “at least”.
- An events count is a floor: the true number of separate events behind a figure can be higher. A figure needs at least 20.
- Wash and voided trades are left out.
- Trades flagged as wash trades are left out of the retail flow and of every crossing figure. Trades in a market that was later voided are left out of every crossing figure.
- Retail and block trades are counted apart.
- A block trade is one the exchange labels a block, or any single trade of more than 100 contracts. Flow counts retail-sized trades and gives blocks as a share; crossing figures use both. Polymarket's data comes as volume bars, which cannot be split.
- No order is simulated.
- Every figure describes trades that happened. Nothing here estimates what would have happened to an order of yours: whether it would have traded, at what price, or how much of it.
- The fair price is an estimate too.
- A crossing figure is measured against the Settlis fair price at the moment of each trade. The 95% range covers the luck of which events were sampled. It does not cover an error in the fair price.
- Fees are taken at the per-contract rate.
- A crossing figure takes off the exchange's taker fee at its rate for one contract. Kalshi rounds each order's fee up to the next cent, so a small order pays more for each contract than the figure assumes. Where a series' fee could not be confirmed, the cell is marked Not measured.
- Start times, and the 7 September 2026 correction.
- A time-to-start window is used only when the event's true start time is known. Since a correction recorded on 7 September 2026, a start time is never worked out from the time a market closed, because that can depend on the result. Markets with no known start are marked Start time unknown and carry no time-to-start figure.
- Every participant’s trades are in here.
- The counts and the figures cover all trading on each exchange, Settlis's own trades among them.
- Information only.
- These are measurements of the past, published for information. They are not advice, and they do not say what any future trade will cost.
Corrections recorded in this edition
- 7 Sep 2026: Kickoff times are no longer derived from a market's close, which can depend on the result. Markets without a known kickoff are grouped as 'kickoff unknown' and carry no time-to-start figures.
The full Methodology sets out the fair price, the fees and the Lab in more detail.
Take it further
Paper trading tests a strategy on these markets with no real money and no orders. Paper results are hypothetical.
Information only · not advice