The same market is not the same bet

NicolasDJ041 pts0 comments

Crosswire | Pre-trade resolution-truth gate for cross-venue trading agents

Read the docs

Pre-trade resolution-truth gate · Cross-venue trading agents

The same market is not the same bet.

Two venues list what looks like one trade (&ldquo;BTC above $60,000,&rdquo;<br>&ldquo;Mexico beats South Africa&rdquo;), and your agent hedges one leg against the<br>other. But they can settle on different oracles, at different instants, under different<br>void rules. When they diverge, the risk-free hedge is a naked directional bet. Crosswire<br>is the resolution-truth gate that sits in front of that trade: send two market references,<br>get back SAFE / CAUTION / BLOCK and the exact divergence, before<br>either leg fires. Stateless, machine-to-machine, $0.02 a call on Base.

Wire in the MCP<br>Pay-per-call on Base

Read the x402 manifest &rarr;

agent &middot; zsh

$ curl -s https://api.crosswire-api.com/v1/audit \<br>-H "Content-Type: application/json" \<br>-d '{"canonical_event_id": "crypto:btc-above:2026-06-27:strike-60000"}' \<br>| jq '{execution_verdict, findings: [.findings[].code]}'<br>"execution_verdict": "caution",<br>"findings": ["settlement_source", "settlement_timing"]

Polymarket settles on the Binance noon-ET close; Kalshi settles on CF Benchmarks BRTI,<br>five hours later. Same strike, different oracle and a different instant. That gap<br>is the finding.

The insight

Three ways the &ldquo;same&rdquo; market breaks.

A cross-venue price gap survives because the two legs are not the same bet. Crosswire<br>names which divergence before it costs you the hedge. Lead example: a daily<br>matched-strike &ldquo;BTC above $X&rdquo; pair.

01 &middot; Settlement source

Who declares the result?

Polymarket&rsquo;s bitcoin-above resolves on the Binance 1-minute close.<br>Kalshi&rsquo;s KXBTCD resolves on CF Benchmarks&rsquo; BRTI, a<br>60-second averaged index across multiple exchanges. Same strike, two different<br>oracles. On a sharp wick they can disagree on which side of $60,000 the print landed.<br>The hedge you booked against &ldquo;the BTC price&rdquo; was booked against two prices.

02 &middot; Settlement timing

At exactly what instant?

Two legs that look simultaneous can resolve hours apart. The crypto pair that proved<br>our pipeline was cross-hour: Polymarket resolved at noon ET (16:00Z), Kalshi at 5 PM<br>EDT (21:00Z): a five-hour gap on the same calendar day. Even when the clock<br>labels match, a single-minute close and a 60-second rolling average sample different<br>windows. Crosswire flags the timing divergence rather than letting your bot assume<br>simultaneity.

03 &middot; Void rules & scope

What if it doesn&rsquo;t resolve cleanly?

Void and scope rules diverge across venues, and a cancellation or out-of-scope<br>outcome can void one leg while the other settles, turning a closed hedge into<br>one open directional leg. On the free World Cup pairs this is live and fatal:<br>Polymarket resolves a cancelled match to &ldquo;No&rdquo; while Kalshi resolves the<br>same cancellation to a fair price. The gate BLOCK s on it.<br>(Try that one without paying; see Live audit.)

One endpoint. An auditable answer.

Send the two market references; receive a Fungibility & Settlement Audit<br>Object with the verdict and its reasons. Two real responses:

BTC $60k &middot; crypto &middot; metered<br>MEX-RSA &middot; World Cup &middot; free

POST/v1/audit<br>Request

request.json

"canonical_event_id":<br>"crypto:btc-above:2026-06-27:strike-60000"

Metered: 402 &rarr; sign &rarr; verdict (see &ldquo;Wire it in&rdquo;).<br>CAUTION, not BLOCK: the question type matches, but the settlement source and<br>instant diverge.

CAUTION<br>Response &middot; 200 &middot; abridged &middot; real engine output

fsao.json &middot; abridged

"canonical_event_id": "crypto:btc-above:2026-06-27:strike-60000#above",<br>"leg_a": { "venue": "polymarket", "market_id": "0xb91da4c0…096af", "outcome": "Yes", "side": "yes" },<br>"leg_b": { "venue": "kalshi", "market_id": "KXBTCD-26JUN2717-T59999.99", "outcome": "yes", "side": "yes" },<br>"matching_confidence": 0.95,<br>"semantically_fungible": true,<br>"scope_divergence_flag": false,<br>"void_rule_divergence_flag": false,<br>"settlement_source_divergence_flag": true,<br>"settlement_timing_divergence_flag": true,<br>"findings": [<br>{ "code": "settlement_source", "severity": "warn", "affects_fungibility": false,<br>"detail": "Polymarket = Binance BTC/USDT 1-minute close; Kalshi = CF Benchmarks BRTI 60-second average." },<br>{ "code": "settlement_timing", "severity": "warn", "affects_fungibility": false,<br>"detail": "Polymarket resolves noon ET (16:00Z); Kalshi resolves 5 PM EDT (21:00Z): a 5-hour cross-hour pairing, flagged not papered over." }<br>],<br>"fee_adjusted_true_spread": 0.046,<br>"snapshot_age_seconds": 43,<br>"execution_verdict": "caution",<br>"ruleset_sha": "5d571399…df91f0"

POST/v1/audit<br>Request

request.json

"canonical_event_id":<br>"wc26:match:MEX-RSA:2026-06-11:result#home"

Every covered World Cup pair BLOCK s on void-rule divergence today.<br>Free to call, no key, no payment: the on-ramp to the metered crypto...

middot ldquo above rdquo different polymarket

Related Articles