Medians are almost identical; the 99th percentiles differ eightfold. The tail is the finding.
Scroll or drag the plot for time · drag the value axis to rescale · double-click it to reset
latency-v1 · Share of settled contracts paid out within N hours of trading close. Kalshi's anchor is close_time, when trading stops. Polymarket's is endDate, a deadline the event can beat — 28.8% of its markets resolve early, a median of 162 hours before it. Those are excluded from the settled population rather than averaged in as negative latency. The two anchors are close in meaning, not identical, and no single cross-venue number is honest without this line. 1,886 Kalshi markets are closed with no settlement timestamp and sit outside every quantile here. 1,859 of them have zero volume — untraded hourly FX and index strike ladders, not a settlement backlog; only 27 carry any volume. Polymarket exposes no equivalent state: closedTime, umaEndDate and the resolution instant are the same timestamp, so its censored set is unobservable rather than empty.
Medians are almost identical; the 99th percentiles differ eightfold. The tail is the finding.
Every value plotted for a past date could have been computed on that date. Normalised series expand their window rather than scaling against the full history, so nothing here is drawn using information that did not exist yet — which is also why the early years of a normalised series are dropped rather than shown against a range of one.