Kalshi Halts Khamenei Market, Polymarket’s Contract Enters Second Dispute
Alex Smith
4 hours ago
When U.S. and Israeli strikes hit Iran early Saturday morning, prediction markets faced the scenario critics and regulators had warned about days earlier.
Kalshi’s Ali Khamenei ‘out of office’ contracts saw $21.7 million in volume across two markets before the exchange halted trading that afternoon. Polymarket’s equivalent contract — only available outside the U.S. — has been disputed twice, but accumulated more than $529 million in volume since opening in December.
The two prediction markets took a different approach to handling both markets.
Kalshi halted trading within hours of the strikes and issued reimbursements
Prices on the Khamenei contracts began climbing shortly following Trump’s Truth Social post. Based on Kalshi’s trade tapes, the largest contracts — March 1 and April 1 — accounted for 91% of total open interest across the four active markets and traded $21.7 million in volume on Saturday.
While prices were spiking, the company posted on X: “BREAKING: The odds Ali Khamenei is out as Supreme Leader have surged to 68%,” followed by: “Reminder: Kalshi does not offer markets that settle on death. If Ali Khamenei dies, the market will resolve based on the last traded price prior to confirmed reporting of death.” CEO Tarek Mansour reposted it.
Kalshi halted trading around 2:59 PM ET citing rule 13.1 pending further review of the situation
.dr-chart-card * { margin: 0; padding: 0; box-sizing: border-box; } .dr-chart-card { font-family: 'Inter', sans-serif; max-width: 860px; margin: 0 auto; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; } .dr-chart-card .chart-container { padding: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; } .dr-chart-card .chart-container canvas { min-width: 600px; max-height: 380px; } .dr-chart-card .data-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; } .dr-chart-card .data-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 480px; } .dr-chart-card .data-table thead th { background: #f8f7f4; padding: 10px 12px; text-align: left; font-weight: 600; color: #64748b; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; white-space: nowrap; } .dr-chart-card .data-table thead th:not(:first-child) { text-align: right; } .dr-chart-card .data-table tbody td { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; color: #0f172a; white-space: nowrap; } .dr-chart-card .data-table tbody td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; } .dr-chart-card .data-table tbody tr:last-child td { border-bottom: none; } .dr-chart-card .event-label { font-size: 11px; color: #94a3b8; font-weight: 400; } .dr-chart-card .peak-row td { background: #FEF3C7; font-weight: 600; } .dr-chart-card .strike-row td { background: #FEF2F2; } .dr-chart-card .settlement-row td { background: #f0fdf4; font-weight: 600; border-top: 2px solid #e2e8f0; } .dr-chart-card .posthalt-row td { background: #f8fafc; color: #64748b; font-style: italic; } .dr-chart-card .teal { color: #00D4AA; } .dr-chart-card .purple { color: #8B5CF6; } .dr-chart-card .chart-footer { padding: 14px 20px; border-top: 1px solid #e2e8f0; text-align: right; } .dr-chart-card .chart-footer a { font-size: 12px; color: #94a3b8; text-decoration: none; } .dr-chart-card .chart-footer a:hover { color: #64748b; } @media (max-width: 640px) { .dr-chart-card .chart-container { padding: 12px 8px; } .dr-chart-card .data-table { font-size: 12px; } .dr-chart-card .data-table thead th { padding: 8px 10px; font-size: 10px; } .dr-chart-card .data-table tbody td { padding: 8px 10px; } .dr-chart-card .event-label { font-size: 10px; } .dr-chart-card .chart-footer { padding: 12px 16px; } .dr-chart-card .chart-footer a { font-size: 11px; } }Kalshi timeline for KXKHAMENEIOUT-AKHA
Time (ET)EventBefore Mar 1 ●Before Apr 1 ● Fri 7:00 PMPre-strike baseline$0.02$0.28 Sat 1:15 AMStrikes begin (CENTCOM)$0.02$0.30 Sat 2:30 AMTrump video: “major combat operations”$0.06$0.41 Sat ~11 AM–12 PMPeak$0.34$0.66 Sat 2:59 PMLast trade (halted)$0.09$0.42 Sat ~4:37 PMTrump announcementMarket frozen Sat 8:47 PMOfficial announcementMarket frozen Sat 10:06 PMMarket closedMarket frozen Sat 10:19 PMSettlement$0.02$0.29 Source: DeFi Rate via Kalshi API trade tape (function() { var ctx = document.getElementById('priceChart').getContext('2d'); var times = [ '7:00 PM','7:30','8:00 PM','8:30','9:00 PM','9:30', '10:00 PM','10:30','11:00 PM','11:30', '12:00 AM','12:30','1:00 AM','1:30','2:00 AM','2:30', '3:00 AM','3:30','4:00 AM','4:30','5:00 AM','5:30', '6:00 AM','6:30','7:00 AM','7:30','8:00 AM','8:30', '9:00 AM','9:30','10:00 AM','10:30','11:00 AM','11:30', '12:00 PM','12:30','1:00 PM','1:30','2:00 PM','2:30', '3:00 PM' ]; var mar = [2,2,2,2,1,1,1,2,2,3,3,2,2,3,8,6,6,5,6,5,8,6,5,6,7,5,5,7,13,12,13,11,34,20,16,8,7,6,5,5,9]; var apr = [28,30,29,29,29,27,28,31,29,27,29,30,30,32,38,41,42,42,42,40,45,45,39,40,42,42,45,47,50,48,54,53,55,63,66,44,41,43,41,43,42]; var isMobile = window.innerWidth < 640; new Chart(ctx, { type: 'line', data: { labels: times, datasets: [ { label: 'Before Mar 1 ($13.7M OI)', data: mar, borderColor: '#00D4AA', backgroundColor: 'rgba(0,212,170,0.06)', borderWidth: 2, pointRadius: 0, pointHoverRadius: 4, pointHoverBackgroundColor: '#00D4AA', tension: 0.3, fill: true }, { label: 'Before Apr 1 ($5.5M OI)', data: apr, borderColor: '#8B5CF6', backgroundColor: 'rgba(139,92,246,0.06)', borderWidth: 2, pointRadius: 0, pointHoverRadius: 4, pointHoverBackgroundColor: '#8B5CF6', tension: 0.3, fill: true } ] }, options: { responsive: true, maintainAspectRatio: true, aspectRatio: isMobile ? 1.6 : 2.0, interaction: { mode: 'index', intersect: false }, layout: { padding: { top: 35 } }, plugins: { legend: { position: 'top', align: isMobile ? 'center' : 'end', labels: { usePointStyle: true, pointStyle: 'line', padding: isMobile ? 12 : 20, font: { family: 'Inter', size: isMobile ? 10 : 12 } } }, tooltip: { backgroundColor: '#0f172a', titleFont: { family: 'Inter', size: 12, weight: '600' }, bodyFont: { family: 'Inter', size: 12 }, padding: 12, cornerRadius: 6, displayColors: true, callbacks: { title: function(items) { var idx = items[0].dataIndex; var t = times[idx]; var day = idx < 10 ? 'Fri Feb 27' : 'Sat Feb 28'; return t + ' ET — ' + day; }, label: function(context) { var val = context.parsed.y; return ' ' + context.dataset.label.split(' (')[0] + ': $0.' + String(val).padStart(2, '0'); } } }, annotation: { annotations: { strikeLine: { type: 'line', xMin: 12.5, xMax: 12.5, borderColor: '#F87171', borderWidth: 1.5, borderDash: [6, 3], label: { display: true, content: 'Strikes begin', position: 'start', backgroundColor: '#F87171', color: '#fff', font: { family: 'Inter', size: isMobile ? 8 : 9, weight: '600' }, padding: { top: 2, bottom: 2, left: 4, right: 4 }, borderRadius: 3, yAdjust: -45 } }, trumpLine: { type: 'line', xMin: 15, xMax: 15, borderColor: '#ef4444', borderWidth: 1.5, borderDash: [6, 3], label: { display: true, content: 'Trump video', position: 'start', backgroundColor: '#ef4444', color: '#fff', font: { family: 'Inter', size: isMobile ? 8 : 9, weight: '600' }, padding: { top: 2, bottom: 2, left: 4, right: 4 }, borderRadius: 3, yAdjust: -30 } }, peakLine: { type: 'line', xMin: 32, xMax: 32, borderColor: '#F59E0B', borderWidth: 1.5, borderDash: [6, 3], label: { display: true, content: 'Peak', position: 'start', backgroundColor: '#F59E0B', color: '#fff', font: { family: 'Inter', size: isMobile ? 8 : 9, weight: '600' }, padding: { top: 2, bottom: 2, left: 4, right: 4 }, borderRadius: 3, yAdjust: -15 } }, haltLine: { type: 'line', xMin: 40, xMax: 40, borderColor: '#64748b', borderWidth: 1.5, borderDash: [6, 3], label: { display: true, content: 'Halted', position: 'start', backgroundColor: '#64748b', color: '#fff', font: { family: 'Inter', size: isMobile ? 8 : 9, weight: '600' }, padding: { top: 2, bottom: 2, left: 4, right: 4 }, borderRadius: 3, yAdjust: -15 } } } } }, scales: { x: { grid: { color: '#f1f5f9' }, ticks: { font: { family: 'Inter', size: isMobile ? 9 : 10 }, color: '#94a3b8', maxRotation: 0, callback: function(val, idx) { var label = this.getLabelForValue(val); if (idx === 0) return 'Fri 7:00 PM'; if (idx === 10) return 'Sat 12:00 AM'; if (label.indexOf('AM') > -1 || label.indexOf('PM') > -1) return label; return ''; } } }, y: { beginAtZero: true, max: 80, grid: { color: '#f1f5f9' }, ticks: { font: { family: 'Inter', size: isMobile ? 10 : 11 }, color: '#94a3b8', callback: function(value) { if (value === 0) return '$0'; return '$0.' + String(value).padStart(2, '0'); }, stepSize: 10 }, title: { display: !isMobile, text: 'Yes price', font: { family: 'Inter', size: 11, weight: '500' }, color: '#94a3b8' } } } } }); })();The markets were formally closed at 10:06 PM ET and settled using the death-contingent mechanism in the CFTC-filed contract terms.
Kalshi then posted two notices. An “Important information” clarification on the market page acknowledged that a prior version of its settlement language “was grammatically ambiguous” and that Kalshi would “reimburse lost value due to trades made between these clarifications.”
A separate site-wide banner reads: “If you traded on the Kamenei out market, you received a reimbursement tied to your trade(s). The credit has been reflected in your balance.”
The ambiguity stems from conflicting language. The WLEADEROUT contract terms filed with the CFTC say the market settles at the “last traded price (prior to the death).” The market page notice says “last traded price prior to confirmed reporting of death.”
Polymarket’s equivalent contract remains unresolved
Polymarket’s “Khamenei out as Supreme Leader of Iran by February 28?” contract is still open at time of publishing. More than $529 million had traded across related Iran strike-date markets on the platform since December. The outcome has been proposed as “Yes” twice and disputed twice. It is now in final review.
An additional context note updated on February 28 reads: “In the case of ambiguity at the time of resolution as to whether Khamenei was removed from power by February 28, this market may remain open until a consensus of credible reporting can determine whether the resolution criteria was met.”
Polymarket also posted a note on its homepage: “The promise of prediction markets is to harness the wisdom of the crowd to create accurate, unbiased forecasts for the most important events to society. That ability is particularly invaluable in gut-wrenching times like today.”
The contract has also drawn renewed scrutiny over suspected insider trading. Blockchain analytics firm Bubblemaps flagged six Polymarket accounts that collectively earned roughly $1 million in profit by betting on a related Iran strike contract. All six accounts were created in February, most were funded within 24 hours of the strikes, and none had prior trading history beyond Iran-related markets.
CFTC and critics had flagged death-linked contracts days before the strikes hit
A group of Democratic senators led by Adam Schiff sent CFTC Chairman Michael Selig a letter urged the CFTC to categorically prohibit any contract that resolves upon or closely correlates to an individual’s death.
In response to the senators’ letter, the Coalition for Prediction Markets — an industry group whose members include Kalshi — posted on X: “We agree contracts involving death have no place on American exchanges. That’s why regulated platforms don’t allow these markets in the first place.”
Kostya Medvedovsky, a markets commentator, called it “incredibly cynical stuff,” writing on X that Kalshi was promoting a “leaves office” market while everyone thought Khamenei was dead, knowing the settlement mechanism meant the platform would freeze the market and pocket the fees.
Amanda Fischer, who works in financial policy at Better Markets and is a former SEC chief of staff, quote-tweeted Kalshi’s post: “So this is more or less offering a proxy market on assassination,” tagging Senator Chris Murphy and adding that “others are right to be outraged by this.”
Kalshi’s settlement mechanism was trigger as designed, but the missteps along the way were avoidable. If these contracts are going to exist, the settlement language needs to be so precise that an ambiguity notice is not needed. Social media accounts shouldn’t be promoting odds on whether a leader is out of office while the world is watching geopolitical events unfold in real time.
For Polymarket, doubling down on the “wisdom of the crowds” messaging is incredibly insensitive.
This is one of those moments where just because you can doesn’t mean you should.
The post Kalshi Halts Khamenei Market, Polymarket’s Contract Enters Second Dispute appeared first on DeFi Rate.
Related Articles
Kalshi Promo Code DEFI Gives $10 on Lakers vs Warriors Tonight
The Lakers visit the Warriors tonight — an all-California rivalry — at 8:30 p.m....
Kalshi Promo Code DEFI for $10 on UFC Fight Night: Moreno vs Kavanagh
UFC Fight Night 268 kicks off tonight at 8 p.m. ET as former two-time flyweight...
Kalshi Promo Code DEFI Gives $10 on Lakers vs Warriors Tonight
The Lakers visit the Warriors tonight — an all-California rivalry — at 8:30 p.m....
Axiom Insider Data Abuse Allegations Expose Crypto Compliance Gaps
On-chain investigator ZachXBT alleges insiders at Solana-based Axiom Exchange ex...