NFL EDGES

Live game edges — model vs. Kalshi, ranked

Gridiron Edge · 5-min refresh

COMBO EDGE

Correlation-aware Kalshi combos — free

SILVER EDGE

Options vs. Kalshi on weekly silver brackets

How Kalshi's 15-Minute Markets Settle: Crypto vs Metals vs Index

Kalshi's 15-minute markets do not all settle the same way. Crypto settles on CF Benchmarks, metals and WTI settle on Pyth, and the S&P series still carries a placeholder in Kalshi's own API. Plus the finding nobody else has published: the feed Kalshi names for 15-minute WTI has been dead since March — and the measurement showing which feed actually settles it, at 99.5% verdict agreement.

Kalshi 15-minute market settlement sources by asset class — CF Benchmarks for crypto, Pyth for metals and WTI
Kalshi 15-minute market settlement sources by asset class — CF Benchmarks for crypto, Pyth for metals and WTI
BR
FSWA Award Winner · Published Author · Ran 4Deep Sports · Led FTN Marketing · Traded Bonds on Wall Street
August 6, 2026

Kalshi now lists an up-or-down contract every fifteen minutes across twelve different underlyings. Nearly every third-party explainer treats them as one product with one settlement mechanism. They are not. Settlement source is set by asset class, and getting it wrong means checking the wrong number to see whether you won.

This page is the source table, pulled live from api.elections.kalshi.com rather than from anyone's summary. If you only take one thing: crypto settles on CF Benchmarks, commodities settle on Pyth, and the S&P series does not name a source at all.

The settlement table

Every row below came from GET /trade-api/v2/series/ on August 6, 2026. The "source" column is Kalshi's own settlement_sources[].name, quoted exactly.

SeriesAsset classSettlement source
KXBTC15MCryptoCF Benchmarks
KXETH15MCryptoCF Benchmarks
KXXRP15MCryptoCF Benchmarks
KXSOL15MCryptoCF Benchmarks
KXDOGE15MCryptoCF Benchmarks
KXBNB15MCryptoCF Benchmarks
KXHYPE15MCryptoCF Benchmarks
KXADA15MCryptoCF Benchmarks
KXGOLD15MCommoditiesPyth — Gold
KXSILVER15MCommoditiesPyth — Silver
KXWTI15MCommoditiesPyth — WTI
KXINX15MFinancials"For example, Google Finance"

Verify any row yourself in one line:

curl -s "https://api.elections.kalshi.com/trade-api/v2/series/KXGOLD15M" \
  | jq '.series.settlement_sources'

That last row is not a typo on our end. Kalshi's API returns the literal string "For example, Google Finance" as the settlement source for its 15-minute S&P 500 series — a drafting placeholder that appears to have shipped. We are not drawing a conclusion from it beyond the obvious one: if you are trading KXINX15M, you cannot tell from the API which print resolves your contract, and that is worth knowing before you size anything.

Why the crypto answer keeps getting applied to gold

Ask an AI assistant how Kalshi's 15-minute gold markets settle today and there is a good chance you get "a 60-second average of the CF Benchmarks Real-Time Index." That answer is correct — for bitcoin. It is wrong for gold, silver and WTI.

The reason is that Kalshi's own help-centre documentation for 15-minute markets is written around crypto, because crypto is where the product launched. Metals arrived on August 3, 2026. Pattern-matching from the existing documentation lands on the crypto mechanism, and nothing in the public record contradicts it — which is precisely the gap this page exists to close.

The two most-cited third-party pages both have the same problem from opposite directions. One of the top-ranking guides to Kalshi 15-minute markets still lists as a drawback that "15-minute markets are only available for cryptocurrencies" — written before the metals launch and not updated since. A well-known backtest resource describes 15-minute settlement using a daily-series ticker and attributes the mechanism to the market's own strike rather than the index. Neither is malicious; both predate or misread the product. But between them they are most of what a search engine has to work with.

The tie rule: flat resolves YES

Kalshi's contract terms for a gold window read, verbatim:

> If the close price of the 1-minute candlestick for Gold on Aug 7, 2026 at 12:00 AM EDT is at least the close price of the 1-minute Pyth GOLD candlestick at 11:45 PM EDT on August 6, 2026, then the market resolves to Yes.

"Is at least." An exact tie resolves YES, not NO. Over a fifteen-minute window on a metal that moves in cents, an exact match on a rounded print is not the vanishing edge case it would be over a week. Gold rounds to 2 decimal places, silver to 3 — so silver ties are rarer than gold ties, purely because the reference carries an extra digit.

This is a small structural tilt toward YES that no fair-value model built on a continuous distribution will capture, because a continuous distribution assigns zero probability to an exact tie. In practice the probability is small but not zero, and it belongs to the YES holder.

The candle convention that will cost you a resolution

This is the one worth reading twice. Verbatim from the contract terms:

> The settlement value is rounded to the nearest 2 decimal places. When confirming the settlement value, note the close price for the 1-minute candlestick at a given time is the price at the end of the immediately preceding one-minute interval. For example, the candlestick timestamped 4:59 PM reflects trading during 4:59:00 PM to 4:59:59 PM and closes at 5:00:00 PM.

A candle is labelled by the minute it opens. So the print that settles a window ending at 5:00 PM comes off the candle labelled 4:59 PM, not the one labelled 5:00 PM. If you check the 5:00 PM candle you are reading a minute of trading that happened after your contract resolved.

On a slow tape this rarely matters. On a fast one it is the difference between a correct and an incorrect read of your own position, and it is why "I checked and I should have won" arguments about these markets are usually a timestamp error rather than a settlement error.

Feed availability, stated honestly

One more thing nobody has published, and it cuts against the neat version of this story.

Kalshi links its metals settlement to the symbols Metal.Index.GOLD/USD and Metal.Index.SILVER/USD. Neither appears in Pyth's public Hermes catalogue. We checked all 3,056 published feeds:

curl -s "https://hermes.pyth.network/v2/price_feeds?query=Metal.Index.GOLD/USD"
# []

The publicly available metals feeds are Metal.XAU/USD and Metal.XAG/USD, which is what every public tool — ours included — actually polls. Same publisher, same asset, and almost certainly the same number to the cent. But it is not demonstrably the same series, so anyone telling you a public price feed is the settlement feed for these contracts is claiming more than the public data supports.

For metals, treat this as a rounding-level concern rather than a directional one. It does not change which side of a window is cheap. It does mean that on a contract decided by the second decimal place, no public tool can promise you the exact settlement print.

WTI is a different and much stranger case

Kalshi names Commodities.Index.PYTHOIL/USD as the settlement source for KXWTI15M, and unlike the metals symbols, that one is in Pyth's public catalogue. So on paper oil looks like the clean case.

It is not. That feed has not published since March 30, 2026. Pulled August 6:

Pyth feedLast publishPrice
Commodities.Index.PYTHOIL/USDKalshi's named source2026-03-30$103.27
Commodities.USOILSPOT (WTI CFD)live, seconds old$75.45
Commodities.WTIU6/USD (Aug 2026 future)live, seconds old$75.88
Metal.XAU/USDcontrol, known livelive, seconds old$4,285.00

The control row matters: gold and silver publish continuously on the same endpoint, so this is not our query being wrong. The named oil index is simply dormant on the public endpoint, and the stale print it still returns — $103.27 — is roughly 37% above where WTI actually trades.

KXWTI15M is meanwhile a live, actively traded product. Across 200 settled windows it ran a median of about 12,000 contracts per window, which is more than the 15-minute silver market. So Kalshi is evidently resolving these contracts against something current — a private or non-Hermes distribution of that index, most likely — and the public endpoint bearing the same name is not it.

So no public tool can price a KXWTI15M window from the feed Kalshi names. Verify in one line:

curl -s "https://hermes.pyth.network/v2/updates/price/latest?ids[]=0x67784f72e95ac01337edb7d7bd5bbd1c03669101b7068a620df228ed4e52ef14&parsed=true" \
  | jq '.parsed[0].price'

So which feed *does* settle it? We measured instead of guessing.

Kalshi publishes the answer, and as far as we can tell nobody has used it. Every settled market carries floor_strike (the reference locked at the window's open), expiration_value (the actual settlement print) and result. The chain is self-consistent — window N's floor_strike equals window N−1's expiration_value, on 199 of 199 consecutive WTI windows. That is ground truth, not inference.

So for each candidate feed we pulled 1-minute bars, took the bar that closes at the window close, and asked the only question that matters: would this feed have called the same YES/NO? Across 200 settled windows per series:

SeriesCandidate feedReproduces the settled verdictMean price error
KXWTI15MCommodities.WTIU6/USD — front-month future99.5%$0.007
KXWTI15MCommodities.WTIV6/USD — next month47.4%$1.55
KXWTI15MCommodities.USOILSPOT — the WTI CFD49.7%$0.61
KXGOLD15MMetal.XAU/USD99.5%$0.12 on ~$4,285
KXSILVER15MMetal.XAG/USD99.0%$0.004 on ~$62

KXWTI15M settles on the front-month WTI future. Not the CFD, not the next contract month, and not the dormant index Kalshi names.

The USOILSPOT row is the one to dwell on. It is the obvious choice — it is literally labelled "WTI Light Sweet Crude Oil", it is live, and it prints within a dollar of the market. It also reproduces the settled outcome about half the time, which is another way of saying it is a coin flip. A tool built on it would render confidently, look plausible, and be worthless. That is the whole argument for measuring rather than reasoning about which feed "should" be right.

One caveat that matters if you use this: front-month feeds expire. WTIU6 rolls off on 20 August 2026, after which WTIV6 becomes the front month — and note from the table that yesterday's correct feed scores 47% once it is the wrong contract. Any implementation has to resolve the front month dynamically rather than pin an id. Ours does, and the check is open source in our repo (scripts/validate-15m-settlement-feed.ts) so you can re-run it against whatever is current when you read this.

And on the metals: those 99.5% and 99.0% figures are why our gold and silver tools use Metal.XAU/USD and Metal.XAG/USD even though Kalshi names index symbols that are not public. It is not a guess or a hopeful proxy — it is a measured equivalence on the only metric that decides a contract.

What this means if you are actually trading these

Three practical consequences, in order of how much money they are worth:

1. The fee, not the feed, is what beats you. Kalshi's taker fee on these series is quadratic — 0.07 × P × (1−P) per contract, roughly 1.75¢ at 50¢ and 0.63¢ at 90¢. Round-trip that plus the spread and you are paying something close to 5 percentage points to enter and exit a mid-priced window. Most fifteen-minute gaps are smaller than that. Our Kalshi fee calculator does the exact arithmetic, and the Gold Edge 15-Min and Silver Edge 15-Min tools draw that dead zone on the live board so you can see whether a gap clears it.

2. Check the right candle. One minute earlier than you think.

3. Ties pay YES. Small, real, and free to know.

None of the above is a claim that these markets are beatable. Ninety-six windows a day is ninety-six opportunities to pay a fee, and the honest base case is that the fee band swallows most of what looks like edge. What the table above buys you is the ability to check your own result against the correct number — which is the floor, not the ceiling, of trading anything.

Sources

Everything on this page is reproducible from two public, keyless endpoints:

Pulled August 6, 2026. Kalshi ships new series regularly and has said it is working toward similar contracts on individual stocks, so re-run the first command before relying on the table for a series not listed here. Trade responsibly.

Frequently Asked Questions

Do all of Kalshi's 15-minute markets settle the same way?

No, and this is the single most common error in third-party write-ups. Settlement source is set by asset class. The eight crypto series (KXBTC15M, KXETH15M, KXXRP15M, KXSOL15M, KXDOGE15M, KXBNB15M, KXHYPE15M, KXADA15M) settle on CF Benchmarks. The three commodity series (KXGOLD15M, KXSILVER15M, KXWTI15M) settle on Pyth. The S&P series KXINX15M lists a placeholder rather than a named source. Anyone answering 'CF Benchmarks 60-second average' for gold is describing the crypto product.

What do Kalshi's 15-minute gold and silver markets settle on?

Pyth. Kalshi's series object names 'Pyth - Gold' and 'Pyth - Silver' and links to the Metal.Index.GOLD/USD and Metal.Index.SILVER/USD symbols. Neither appears in Pyth's public Hermes catalogue as of August 2026 — a query returns an empty array across all 3,056 published feeds. The public spot feeds are Metal.XAU/USD and Metal.XAG/USD, and rather than assume those match, we measured them against Kalshi's own published settlement prints across 200 settled windows: XAU/USD reproduces the settled YES/NO verdict on 99.5% of gold windows and XAG/USD on 99.0% of silver windows. So they are settlement-equivalent in the only sense that decides a contract, even though Pyth does not publish the exact index symbol Kalshi names.

What happens if the price is exactly flat over a 15-minute window?

It resolves YES. Kalshi's contract terms read that the market resolves Yes if the closing price 'is at least' the reference price, so an exact tie goes to YES rather than NO. On a product where the typical move over fifteen minutes is small, that is not a trivial edge case — it is a real, if narrow, tilt in the YES holder's favour.

How does Kalshi's candlestick timestamp convention work?

A candle is labelled with the minute it opens, not the minute it closes. Verbatim from Kalshi's contract terms: 'the candlestick timestamped 4:59 PM reflects trading during 4:59:00 PM to 4:59:59 PM and closes at 5:00:00 PM.' So the settlement print for a window ending at 5:00 PM comes off the candle labelled 4:59 PM. Reading the 5:00 PM candle instead gives you the wrong number and, in a fast tape, the wrong resolution.

What happens if the price feed goes down at settlement?

Kalshi falls back to the last available print. From the contract terms: 'If no data is published by the specified source agency for the specified time, then the most recently available published data will be used to resolve the market.' There is no void or refund branch — the market resolves off stale data rather than not resolving.

Can you price Kalshi's 15-minute WTI market from public data?

Yes, but not from the feed Kalshi names. KXWTI15M lists Commodities.Index.PYTHOIL/USD, and on Pyth's public endpoints that feed has not published since March 30, 2026 — it still returns $103.27, roughly 37% above where WTI trades. We measured the alternatives against Kalshi's own published settlement prints across 200 settled windows: the front-month WTI future (Commodities.WTIU6/USD today) reproduces the settled YES/NO verdict 99.5% of the time, while the obvious-looking Commodities.USOILSPOT CFD reproduces it only 49.7% — a coin flip. So the front-month future is the correct source, and any tool must resolve the front month dynamically because these contracts expire and roll.

How do you know a price feed matches what actually settles a contract?

Measure it against Kalshi's own published data rather than trusting the named source. Every settled market exposes floor_strike (the reference locked at the window's open), expiration_value (the actual settlement print) and result. Take 1-minute bars from a candidate feed, use the bar that closes at the window close, and count how often it would have produced the same YES/NO. Verdict agreement is the metric that matters — price error is scale-dependent and flatters expensive assets like gold. We publish the script we use for this at scripts/validate-15m-settlement-feed.ts.

Read Next

Prediction-market edges, weekly. The only newsletter built for Kalshi & Polymarket traders.

No spam. Unsubscribe anytime.

BR

Benny Ricciardi

Founder · The 7 Oracles

Benny Ricciardi is an FSWA Award Winner and published author. He ran 4Deep Sports as CEO, led marketing at FTN Network as CMO, and traded bonds on Wall Street. He founded PredictionMarketsPicks.

Follow @BennyR11
how do kalshi 15 minute markets settlekalshi 15 minute settlementKXGOLD15M settlementKXSILVER15M settlementKXWTI15MKXBTC15M settlementkalshi 15 minute markets explainedkalshi pyth settlementkalshi cf benchmarkskalshi candlestick timestamp convention

Want more analysis like this?

Get The 7 Oracles' daily prediction market breakdown — free, no fluff, straight to your inbox.

Get the daily edge in your inbox →