# Same contract on two prediction markets: the gap closes in seconds

> Buying a contract on one prediction market and its opposite on another looks like +4.0c per pair on trade prints, but earns +0.0 to +0.2c when filled on live quotes, because the gap closes within seconds.

E131 · Verdict: KILL · Cause: Not replicated · Market: Prediction markets · Mechanism: Microstructure · Horizon: 15m · Tested: October 2026

Source: https://alphanotfound.eu/experiments/E131-same-contract-two-prediction-markets

Identical contracts are listed on a US event-contract exchange and on an on-chain prediction market, so a price gap between them looks like free money: buy "Up" on one venue and "Down" on the other. We tested 15-minute Bitcoin and Ether up/down contracts, sports winners and noon price ladders. On past trade prints the Bitcoin pair earned +4.0c per contract pair after fees. Filling the second leg after the signal cut that to +1.6c on paper, and Ether lost 3.2c. On live order books the gap lasted a few seconds, and a fill 10 seconds later earned +0.0 to +0.2c.

## Key numbers

- **Bitcoin pair on trade prints:** +4.0c (per contract pair after both venues' fees; 559 windows; 95% interval +2.9 to +4.9c)
- **Same rule, honest fill:** +1.6c (Bitcoin, 547 windows, interval +0.5 to +2.6c; Ether -3.2c (207 windows))
- **Live books, fill 10 s later:** +0.0 to +0.2c (one snapshot after the gap showed; almost no depth left)
- **Windows that resolve differently:** 1.42% (91 of 6,403 Bitcoin windows, all with a price move under $9)

## The idea being tested

**Belief:** The same contract listed on two prediction markets will sometimes trade at different prices, and buying it cheap on one while selling it dear on the other locks in a profit.

**Why people believe it:** The two venues have different users, fee schedules, settlement currencies and order books, and each sets its price separately. People argue that a gap should therefore open from time to time, and that a pair of opposite positions pays one dollar at resolution whatever the outcome.

**Why it would persist:** People argue that moving money between a US-regulated exchange and an on-chain venue is slow, that the on-chain book is thin, and that resolution rules differ slightly, so a flow of arbitrage capital would not close every gap.

## How it was tested

We found contracts that both venues list: 15-minute "will Bitcoin (or Ether) be higher at the end of the window" contracts, game-winner contracts in 14 sports leagues, and noon "above price K" ladders. A "contract pair" is Up on one venue plus Down on the other; it pays 1 dollar when both venues resolve the window the same way. We computed the profit after both venues' fees, first from past trade prints, then with the second leg filled only after the signal, and finally on live order books recorded side by side, asking whether the gap was still there a moment later.

**Pre-registered:** yes

**Data:** Minute candles with bid and ask, trade tape and live order books of the matched contracts (a US event-contract exchange, public market-data API; 1 minute (history), about 10 seconds and 2 seconds (live books); 2026-08..2026-10); Trade tape and live order books of the same contracts (an on-chain prediction market, public market-data API; per trade (history), about 10 seconds and 2 seconds (live books); 2026-08..2026-10)

**Universe:** 15-minute Bitcoin up/down contracts (96 per day; 6,403 windows matched, 1,025 analysed), 15-minute Ether up/down (524 windows analysed, every 12th window), game winners in 14 leagues (3,194 games matched, 917 fetched, 898 with a complete mapping), and noon Bitcoin and Ether ladders (85 and 48 liquid matched strikes on 55 and 43 days). Daily temperature contracts were not tested: bracket edges differ by 1 degree F, the daily maximum is defined differently, and 4 of 10 cities use different weather stations on the two venues.

**Signal:** Complete set A: buy Up at the exchange's ask and sell Up on the on-chain venue at its bid (equivalent to buying Down at one minus that bid); set B is the mirror image. Net gap = 1 minus the cost of both legs minus both fees. Trade-proxy version: the on-chain price is the last trade inside a look-back of 10 seconds (5 and 30 reported), checked at minutes 1-13 of the window; thresholds on the net gap of 0, 1, 2 and 3c. Live version: standing quotes, walking both books while the marginal pair is still profitable.

**Execution:** Hold to resolution. Honest-fill version: decide on prices before time T, buy the exchange leg at its quote at T, and fill the on-chain leg at the first on-chain trade after T within 10 seconds. Live capture test: execute at the next snapshot (about 10 s later; 1, 2 and 5 snapshots at 2-second sampling) instead of the one that showed the gap.

**Costs:** Exchange taker fee 0.07 x series multiplier x p x (1 - p) per contract; on-chain venue taker fee equal to its published fee-schedule rate (0.07 for the 15-minute markets) x p x (1 - p) per share; the quoted spread is paid on both legs. Cent rounding per order is ignored for large orders. Resolution mismatches are included in the realised payoff in the historical tests.

**Controls:** Same rule on a second asset (Ether); three look-back windows; one-sided versions (buy the lagging venue only); lead-lag cross-correlation of 5-second price changes on 150 windows; resolution-mismatch rate from all 6,403 windows.

**Sample split:** Time windows 60% / 20% / 20% (selection, validation, holdout), reported for each family.

**Pass criterion:** A lead needs all of: (a) at least 100 independent events (a window, game or noon day) with a qualifying signal; (b) net mean of at least 1c per contract pair after both venues' fees and the actual or proxy spreads; (c) event-clustered bootstrap 95% interval above 0 on the realised payoff, including resolution mismatch; (d) the same sign in each of the three time windows; (e) on live books the gap must exist at standing quotes, persist at least 10 seconds and have depth of at least 100 contracts. With about 50 cells tested, a historical-proxy lead also needed t of at least 3; trade-print results count only as an upper bound.

**Kill criterion:** Failure of any one of (a) to (e). Criteria were written after partial looks at no more than 25% of the 15-minute sample and about 5% of the sports sample, and about 15 minutes after live recording began.

**Power:** With a 1.4% mismatch rate the payoff standard deviation of a contract pair is about 0.12, so 1c at t = 2 needs about 600 events; for one-sided bets (standard deviation about 0.5), 2c at t = 2 needs about 2,500 events.

## Result

**Why it was rejected:** The live-book requirement failed: most gaps were gone one snapshot later (59% in Bitcoin, 78% in Ether) and a fill one snapshot later earned +0.0 to +0.2c with almost no depth. Sports and noon ladders also failed the requirement of at least 100 events (fewer than 100 events). The Bitcoin paper result (+1.6c, interval +0.5 to +2.6c) met the historical-print requirements and failed only against live books; the Ether loss (-3.2c) was not one of the pre-set requirements.

**Observations:** 547

**Net mean:** +1.6

**95% interval:** +0.5 to +2.6

**Median:** —

**Worst:** —

- On trade prints, Bitcoin pairs with a net gap of at least 2c earned +4.0c (interval +2.9 to +4.9c, 559 of 1,025 windows), including resolution mismatch. These prints are prices that had already happened.
- Deciding on earlier prints and filling the on-chain leg at the first trade afterwards, the same rule earned +1.6c in Bitcoin (interval +0.5 to +2.6c, 547 windows; +1.5c, +0.9c and +2.3c in the three time windows) and lost 3.2c in Ether (interval -5.8 to -1.0c, 207 windows).
- One-sided versions (buy only the lagging venue) had intervals including zero in Bitcoin (+1.4c, +1.7c and +4.2c at gaps of 3c, 5c and 8c) and were negative in Ether (-1.8c, -1.5c and -4.5c).
- The exchange leads the on-chain venue by about 5 seconds: the correlation of 5-second price changes is +0.44 when the on-chain price is shifted by 5 seconds, +0.36 at no shift, +0.07 at 10 seconds and about zero later (150 windows). When the venues differ, the on-chain price moves toward the exchange's (slope -0.19 within 5 seconds); the exchange's does not move (+0.01).
- On 2,186 simultaneous live snapshots over 31 windows, a pair was profitable after fees in 9.3% of Bitcoin and 6.7% of Ether snapshots, by at least 1c in 2.9% and 0.9%, and by at least 2c in 2.2% and 0.3%. Most were in minutes 9-15 of a window or at prices near 0 or 1.
- Filling at the next snapshot (about 10 seconds later) instead of the one that showed the gap, the realised payoff was +0.0 to +0.2c per pair at gap thresholds of 0, 1 and 2c, with almost no depth left; 59% of Bitcoin and 78% of Ether gaps were gone by then. The +1.2c, +3.9c and +5.0c measured at the instant of observation are selection-biased and not obtainable: in 804 snapshots at 2-second sampling over 3 windows, none showed a net gap of 1c or more.
- The exchange's order book is far deeper: median 2.29 million contracts per Bitcoin window against about $25,000 of volume (contracts versus dollars, not like for like) on the on-chain venue; at the top of the book about 550-610 contracts against about 75-80 shares in the live Bitcoin books.
- The two venues resolved 91 of 6,403 Bitcoin windows differently (1.42%: 53 Up on the exchange and Down on-chain, 38 the reverse). The rate was 22% when the price moved less than $5 over the window and 3.2% under $50. The exchange settles on a 60-second average of its reference index, the on-chain venue on a 60-second average of an oracle price stream. No mismatch occurred in 28 resolved live windows.
- Game winners: pre-game, the two venues' mid prices differed by a median 0 to 0.5c (90th percentile 1.0c) at 6 hours, 1 hour and 10 minutes before the start, in every league. A pair was profitable after fees in 0.0-0.15% of rows, and never by 1c or more in 1,845 rows at 1 hour before the start.
- In play, gaps were larger (median 0.5-1c, 90th percentile 2-3.5c), but the on-chain prices were 10-45 second old trades in a moving game. The first qualifying pairs at a 1c threshold numbered 32, 37 and 37 games at three in-game times, short of the 100 required. Of 14 one-sided rules none reached t = 3.
- Live sports books, 6,702 snapshots over 35 markets in 15 games (4,830 pre-game snapshots in 14 games, 1,872 in-play in 5): a pair was profitable in 0.9% of pre-game and 0.1% of in-play snapshots, and by 1c or more in 0.02% and 0%. The only persistent case was a small college-football game with 0.39 contracts of depth, worth $0.003.
- Noon ladders: only 9 to 32 rows with prices on both venues per decision time, on 5 to 16 days, an order of magnitude short of 100 events. The live check found one Ether strike priced between 3c and 97c with books on both sides (131 snapshots), and no net gap in any of them.
- Sports games were matched across venues using start time as a tie-break; after matching, resolution disagreed in 1 of 2,128 markets (a doubleheader).

### Each step toward real execution removes the gap (cents per contract pair)

Mean net result per contract pair (gap of at least 2c), with 95% intervals. Bitcoin on past trade prints is +4.0c; with the second leg filled after the signal it falls to +1.6c; the same rule in Ether loses 3.2c. Live books then put the next-snapshot fill at +0.0 to +0.2c.

|   | Mean | 95% low | 95% high |
| --- | --- | --- | --- |
| Bitcoin, trade prints (n 559) | 4.0 | 2.9 | 4.9 |
| Bitcoin, fill after the signal (n 547) | 1.6 | 0.5 | 2.6 |
| Ether, fill after the signal (n 207) | -3.2 | -5.8 | -1.0 |

### On live books the gaps are rare, and in seconds they are gone (% of snapshots)

Share of simultaneous live snapshots in which a contract pair was profitable after both fees (any amount, and by 1c or more). Crypto windows show gaps in 6.7-9.3% of snapshots, but at 2-second sampling none reached 1c; identical sports contracts almost never show one.

|   | Net gap above 0 | Net gap of 1c or more |
| --- | --- | --- |
| Bitcoin 15m, 10 s (n 1,129) | 9.3 | 2.9 |
| Ether 15m, 10 s (n 1,057) | 6.7 | 0.9 |
| Bitcoin 15m, 2 s (n 804) | 8.2 | 0.0 |
| Sports pre-game (n 4,830) | 0.9 | 0.02 |
| Sports in play (n 1,872) | 0.1 | 0.0 |

### One venue follows the other by about 5 seconds (correlation)

Correlation between 5-second price changes on the exchange and on the on-chain venue, with the on-chain series shifted by the lag shown (150 Bitcoin windows). The peak at +5 seconds means the on-chain price follows the exchange's; beyond 10 seconds there is no relation.

|   | Correlation of 5-s changes |
| --- | --- |
| -10 s | 0.013 |
| -5 s | 0.035 |
| 0 s | 0.364 |
| +5 s | 0.444 |
| +10 s | 0.065 |
| +15 s | -0.003 |

## Interpretation

**Why it failed (interpretation, not established):** The pattern fits a venue pair in which one price follows the other within seconds. A gap seen on a trade tape is then mostly a stale price on the follower, and a gap on standing quotes lasts about as long as the follower takes to update. Part of the quoted gap may also be the difference between the two settlement price sources: the realised payoff was about 1c below the quoted edge in both assets, consistent with mismatches tending to go against the side that looked rich. These are interpretations; the tests did not isolate them.

**Lesson:** An edge measured on trade prints is an upper bound, because each print is a price that already happened. In this test in Bitcoin the figure fell from +4.0c on prints to +1.6c with a post-signal fill, and the live check, one snapshot later, gave +0.0 to +0.2c. Where the contract and its resolution rules are identical, as for sports winners before the game, the two venues simply quote the same price.

**Scope:** Covers 15-minute Bitcoin and Ether up/down contracts, game winners in 14 leagues and noon Bitcoin and Ether ladders on one US event-contract exchange and one on-chain prediction market, August to October 2026, with live books recorded in one session of about 3.5 hours at 10-second sampling (31 windows) plus 30 minutes at 2-second sampling, on a weekend. It does not cover other contract families, other venue pairs or execution measured at finer than 2-second resolution.

## Reproducibility

**Steps:** 1) List the contract families both venues carry and match instances by asset, window start or game date and start time (not by date alone). 2) Pull one-minute candles with bid and ask from the exchange and the trade tape from the on-chain venue; compute resolution agreement per window. 3) Net gap = 1 minus both legs minus both taker fees; run the trade-print version, then the honest-fill version (decide before T, fill the on-chain leg at the first trade after T within 10 seconds). 4) Record both venues' order books side by side every 10 seconds (and every 2 seconds for a short run), compute the profitable share and the payoff when executing one snapshot later; bootstrap by window.

**Grade:** COMPLETE

---
AI-generated research, checked but not peer-reviewed. Historical, experimental research, not investment advice. Dataset Terms of Use: https://alphanotfound.eu/terms
