Polymarket Underpriced the World Cup Draw at 22¢ — And It Knocked Germany Out
Across 77 World Cup 2026 matches, Polymarket's regulation 'Draw' closed at 22¢ but hit 29% of the time — a standing edge that cashed when Germany and the Netherlands went out on penalties.
Polymarket priced Germany at 73.5¢ to beat Paraguay in the Round of 32. The match finished 1-1, Germany lost the shootout, and the token that mattered — "Will Germany vs. Paraguay end in a draw?" — closed at 17.5¢ and paid out at a dollar. Anyone holding the draw got 5.7× their money while the 73.5¢ favorite went to zero.

That's a good story. What makes it a data story is that it wasn't a fluke. We pulled the closing price and settlement for every regulation-result market on all 93 World Cup 2026 matches with a Polymarket book — 232 resolved binary markets through June 30 — and the draw is the single most consistently underpriced outcome in the tournament. The regulation "Draw" closed at an average of 21.8¢ and hit 28.6% of the time. Back it blindly, every match, and you'd be up +31% gross on turnover.
Why the draw is where the money is
Each World Cup match on Polymarket is a three-way regulation moneyline: Team A wins in 90, Draw, Team B wins in 90. Extra time and penalties don't count — a 1-1 that goes to a shootout resolves the Draw token to YES, no matter who advances. That structural detail is exactly why the knockout round has been carnage for favorites: elimination football grinds toward stalemate, and the market keeps pricing the draw like it's a group-stage afterthought.
Football bettors have a well-documented aversion to backing the draw — it feels like rooting for nothing — and that behavioral discount shows up cleanly in Polymarket's closing lines. The interesting part is that it survives into a liquid, real-money prediction market that's otherwise sharply calibrated.
The market is well calibrated — except on the draw
Here's the calibration curve across all 232 resolved regulation markets. Bucket every market by its pre-kickoff closing price, then check how often those markets actually resolved YES.
| Closing price | Markets | Avg implied | Actually happened |
|---|---|---|---|
| 0–10¢ | 31 | 6.0% | 6.5% |
| 10–20¢ | 46 | 14.6% | 13.0% |
| 20–30¢ | 69 | 24.4% | 23.2% |
| 30–40¢ | 13 | 34.6% | 23.1% |
| 40–50¢ | 11 | 44.9% | 72.7% |
| 50–60¢ | 19 | 54.4% | 47.4% |
| 60–70¢ | 18 | 64.1% | 77.8% |
| 70–80¢ | 9 | 73.4% | 77.8% |
| 80–90¢ | 13 | 84.3% | 76.9% |
| 90–100¢ | 3 | 92.0% | 66.7% |

The tails are excellent: longshots priced at 6¢ come in 6.5% of the time, and the fat 20–30¢ bucket (where most draws and second-favorites live) is almost perfectly on the line. The mid-table wobble is small-sample noise — only 11 markets ever closed between 40¢ and 50¢. Overall the mean absolute miss is about 5 points, which is genuinely sharp for a sports book.
So the edge isn't "the crowd is dumb." It's specific. When we split the same markets by outcome type, the draw and the teams pull in opposite directions:
| Bucket | Markets | Avg close | Hit rate | Gross ROI |
|---|---|---|---|---|
| Draw (all matches) | 77 | 21.8¢ | 28.6% | +31.2% |
| Draw (group stage) | 72 | 21.5¢ | 27.8% | +29.3% |
| Draw (Round of 32) | 5 | 25.9¢ | 40.0% | +54.4% |
| Any team to win in 90 | 155 | 38.9¢ | 35.5% | −8.7% |
| Favorites > 60¢ | 43 | 74.1¢ | 76.7% | +3.5% |

Read those last three rows together and the mechanism is obvious. The favorites are priced almost perfectly (74.1¢ → 76.7%). Backing teams indiscriminately loses 8.7% because the win-in-regulation tokens are collectively a touch rich — and that richness is the mirror image of the draw being too cheap. The three-way prices sum to roughly a dollar, so every cent the draw is underpriced has to come out of the two teams. The crowd funds its draw-aversion by slightly overpaying for a result.
The knockout round is amplifying it
Five regulation-draw markets have resolved in the Round of 32 so far. Two of them hit — Germany 1-1 Paraguay and Netherlands 1-1 Morocco, both settled on penalties, both eliminating a pre-tournament heavyweight. That's a 40% draw rate against a 25.9¢ average price. Small sample, yes, but it's the expected direction on steroids: win-or-go-home matches between competent sides are draw factories, and the market walked in pricing them like group games.
If the pattern holds through the quarterfinals, the draw is the highest-expectancy standing bet on the board.

Replicate it with the API
Everything above is two endpoints: list the match markets, then pull each token's closing price and settlement. Here's the full loop with the Python SDK.
from polymarketdata import PolymarketDataClient, Resolution
from datetime import datetime, timedelta
import numpy as np
client = PolymarketDataClient(api_key="YOUR_API_KEY")
# 1. Grab every World Cup 2026 match event (slugs are prefixed `fifwc-`)
events = client.discovery.list_events(search="fifwc", limit=500)
matches = [e for e in events.data
if " vs. " in e.title and " - " not in e.title]
rows = []
for m in matches:
kickoff = datetime.fromisoformat(m.slug[-10:]) # date is in the slug
for market in client.discovery.list_markets(event_id=m.id).data:
for tok in market.tokens:
if tok.label != "Yes":
continue
px = client.history.get_token_prices(
tok.id,
start_ts=(kickoff - timedelta(days=3)).isoformat() + "Z",
end_ts=(kickoff + timedelta(days=2)).isoformat() + "Z",
resolution=Resolution.ONE_MINUTE,
).to_dataframe_prices()
pre = px[px.t < kickoff] # everything before kickoff
if pre.empty:
continue
close_price = pre.price.iloc[-1] # last print before the match
settle = px.price.iloc[-1] # 0.001 or 0.999 after resolution
if not (settle > 0.95 or settle < 0.05):
continue # skip unresolved / live markets
rows.append({
"match": m.title,
"is_draw": "end in a draw" in market.question,
"implied": float(close_price),
"won": int(settle > 0.5),
})
# 2. Measure the draw edge
draws = [r for r in rows if r["is_draw"]]
price = np.mean([r["implied"] for r in draws])
hit = np.mean([r["won"] for r in draws])
print(f"Draws: n={len(draws)} avg_close={price:.3f} "
f"hit_rate={hit:.3f} gross_roi={hit/price - 1:+.1%}")
# -> Draws: n=77 avg_close=0.218 hit_rate=0.286 gross_roi=+31.2%
Swap the outcome filter and you can reproduce the full calibration table, the group-versus-knockout split, or a per-match ledger in a few more lines.
What a trader does with this
Back the regulation draw, size it for the knockout round, and don't kid yourself about the frictions. The +31% is a gross, closing-line number: it assumes you get filled at the last pre-kickoff price and ignores fees and the spread you'll actually cross. Draw markets are thinner than the moneyline, so a live backtest against historical L2 depth — not the mid — is mandatory before you trust the edge net of execution. The knockout sample is five markets; treat the +54% as a direction, not a coefficient.
But the setup is clean: a persistent behavioral discount, a structural reason it widens in exactly the matches everyone's watching, and a market that's otherwise calibrated tightly enough that you can trust the rest of the book. The draw has been the trade all tournament. The bracket is about to get tighter, not looser.
Germany's backers already paid for the lesson. Who's pricing Saturday's draws?
All data from the polymarketdata.co API. Full endpoint reference at polymarketdata.co/docs.