Data Freshness
Kalshi fetched 8/22 3:11 PM PT
DataGolf fetched 8/22 3:11 PM PT
Model-Agent Last Run 6/20 9:32 PM PT
Now β€”
Phase 1 Β· Complete
The Golf Desk is on hiatus — Phase 1 delivered.
Phase 1 proved autonomous trading end-to-end: a live pipeline that priced 1,600+ PGA Tour markets against a statistical model and executed Kelly-sized orders on Kalshi with no manual intervention. It was a deliberate, fast validation experiment — and it did its job, mapping precisely where a single-model edge holds and where it doesn't. The desk is now paused while we build Phase 2: a calibrated multi-source ensemble that blends several forecasting signals and arbitrages price differences across venues, rather than trusting any one model. See the key learning in Technical Design for what Phase 1 taught us.
About the Golf Desk

The Golf Desk is the first trading system built under MATES (Multi-Agent Trading Execution System) — an autonomous bot that finds and exploits mispricings on Kalshi (a regulated U.S. prediction market exchange) by comparing DataGolf's statistical probability model against Kalshi's crowd-derived prices across 1,600+ PGA Tour markets. When the two signals diverge by more than the edge threshold, the desk sizes a position using the Kelly Criterion and places a limit order automatically. See Technical Design for full architecture details.

Kalshi API DataGolf strokes-gained model Kelly Criterion (half-Kelly) RSA-PSS signed auth Fuzzy name matching Python + Flask
Portfolio Summary
Total Budget
$100.00
Deployed
$0.00
Available
$100.00
Open Positions
0
Tournament Positions
Filter: click a column header to sort  Β·  filters apply to both views
Market Type Side Qty Entry AT ENTRY CURRENT (LIVE MARKET) POSITION
Odds Win DG % Kalshi % Edge Exp. Val Win Odds Kalshi % Edge @ Entry Proj. Return Cost Potential Payout Opened
Loading positions…
Tournament Performance
Cumulative P&L  Β·  realized, by settled bet
Event Status Bets Record Staked Net P&L ROI Avg Edge @Entry Expected P&L vs Expected
U.S. Open SETTLED 12 8–4 67% $69.81 $-3.81 -5.5% +3.9 +$3.63 $-7.44
RBC Canadian Open SETTLED 8 4–4 50% $25.74 $-4.74 -18.4% +5.1 β€” β€”
CJ Cup Byron Nelson SETTLED 16 9–7 56% $68.80 $-4.80 -7.0% β€” β€” β€”
All-time 36 21–15 $164.35 $-13.35 -8.1%
* Live events include unrealized mark-to-market on open positions. Expected P&L and vs Expected are shown only where DataGolf entry data covers every bet in the event (so the older synced Byron Nelson book shows β€œβ€”β€). Small sample β€” three tournaments, two with early bugs.
Settled Positions
Filter: click a column header to sort
Event Market Type Side Qty Entry Cost Payout P&L Outcome Settled
No settled positions yet.
Market Scan β€” Kalshi & DataGolf

6/20 9:32 PM PT  Β·  Live predictions

Scanned 368 markets across 72 top5, 72 top10, 72 top20, 72 winner, 80 matchup. Found 11 edges above threshold (8 top5, 1 top10, 2 top20) β€” 10 meet minimum position size and are tradeable.

Top pick: Robert MacIntyre - Top 5 (TOP5, NO @ 84Β’) with a 15.9pt edge β€” DataGolf says 0.1%, Kalshi implies 16.0%.

Market Type Side Edge DG % Kalshi % Price Contracts POSITION ECONOMICS Tradeable
Cost Odds of Win Payout Exp. Value
Robert MacIntyre - Top 5 TOP5 NO 15.9pt 0.1% 16.0% 84Β’ 29 $24.36 99.9% $4.64 +$4.60 YES
Harry Higgs - Top 5 TOP5 NO 14.9pt 0.1% 15.0% 85Β’ 29 $24.65 99.9% $4.35 +$4.33 YES
Ludvig Aberg - Top 5 TOP5 NO 11.6pt 0.4% 12.0% 88Β’ 28 $24.64 99.6% $3.36 +$3.25 YES
Ryan Fox - Top 5 TOP5 NO 10.9pt 0.1% 11.0% 89Β’ 28 $24.92 99.9% $3.08 +$3.05 YES
Andrew Putnam - Top 5 TOP5 NO 10.8pt 0.2% 11.0% 89Β’ 28 $24.92 99.8% $3.08 +$3.03 YES
Chris Gotterup - Top 5 TOP5 NO 10.8pt 0.2% 11.0% 89Β’ 28 $24.92 99.8% $3.08 +$3.01 YES
Cameron Young - Top 5 TOP5 NO 8.4pt 2.6% 11.0% 97Β’ 0 $5.82 97.4% $0.18 +$0.50 NO
Hideki Matsuyama - Top 20 TOP20 NO 6.9pt 0.1% 7.0% 93Β’ 26 $24.18 99.9% $1.82 +$1.79 YES
Scottie Scheffler - Top 5 TOP5 NO 6.0pt 67.0% 73.0% 29Β’ 6 $2.61 33.0% $6.39 +$0.54 YES
Scottie Scheffler - Top 10 TOP10 NO 5.0pt 85.0% 90.0% 12Β’ 9 $1.68 15.0% $12.32 +$0.69 YES
All Markets Found β€” 368 markets, sorted by volume (click to expand)
Ticker Title Category Volume ($) YES Ask
KXPGATOUR-USO26-WCLA Will Wyndham Clark win the U.S. Open? WINNER $14,634,095 72Β’
KXPGATOUR-USO26-SSCH Will Scottie Scheffler win the U.S. Open? WINNER $14,298,351 13Β’
KXPGATOUR-USO26-RMCI Will Rory McIlroy win the U.S. Open? WINNER $10,297,634 β€”
KXPGATOUR-USO26-MFIT Will Matt Fitzpatrick win the U.S. Open? WINNER $7,136,540 1Β’
KXPGATOUR-USO26-CAME Will Cameron Young win the U.S. Open? WINNER $5,700,456 β€”
KXPGATOUR-USO26-TFLE Will Tommy Fleetwood win the U.S. Open? WINNER $5,650,699 1Β’
KXPGATOUR-USO26-XSCH Will Xander Schauffele win the U.S. Open? WINNER $5,644,030 3Β’
KXPGATOUR-USO26-SBUR Will Sam Burns win the U.S. Open? WINNER $5,451,383 2Β’
KXPGATOUR-USO26-SSTE Will Sam Stevens win the U.S. Open? WINNER $4,738,382 2Β’
KXPGATOUR-USO26-CGOT Will Chris Gotterup win the U.S. Open? WINNER $4,406,841 β€”
KXPGATOUR-USO26-JTHO Will Justin Thomas win the U.S. Open? WINNER $4,191,214 β€”
KXPGATOUR-USO26-DJOH Will Dustin Johnson win the U.S. Open? WINNER $4,075,100 β€”
KXPGATOUR-USO26-CMOR Will Collin Morikawa win the U.S. Open? WINNER $3,950,969 1Β’
KXPGATOUR-USO26-LABE Will Ludvig Aberg win the U.S. Open? WINNER $3,841,463 β€”
KXPGATOUR-USO26-JNIE Will Joaquin Niemann win the U.S. Open? WINNER $3,707,709 β€”
KXPGATOUR-USO26-HHIG Will Harry Higgs win the U.S. Open? WINNER $3,635,236 β€”
KXPGATOUR-USO26-JROS Will Justin Rose win the U.S. Open? WINNER $3,420,767 β€”
KXPGATOUR-USO26-CCON Will Corey Conners win the U.S. Open? WINNER $3,385,067 β€”
KXPGATOUR-USO26-BHAR Will Brian Harman win the U.S. Open? WINNER $3,292,998 β€”
KXPGATOUR-USO26-TKIM Will Tom Kim win the U.S. Open? WINNER $3,260,989 2Β’
KXPGATOUR-USO26-JSPI Will Jordan Spieth win the U.S. Open? WINNER $3,122,384 β€”
KXPGATOUR-USO26-ABHA Will Akshay Bhatia win the U.S. Open? WINNER $2,968,728 β€”
KXPGATOUR-USO26-STHE Will Sahith Theegala win the U.S. Open? WINNER $2,862,080 3Β’
KXPGATOUR-USO26-THAT Will Tyrrell Hatton win the U.S. Open? WINNER $2,823,355 β€”
KXPGATOUR-USO26-ARAI Will Aaron Rai win the U.S. Open? WINNER $2,821,918 β€”
KXPGATOUR-USO26-JBRI Will Jacob Bridgeman win the U.S. Open? WINNER $2,792,152 β€”
KXPGATOUR-USO26-RCOW Will Ryder Cowan win the U.S. Open? WINNER $2,592,929 β€”
KXPGATOUR-USO26-RHEN Will Russell Henley win the U.S. Open? WINNER $2,587,840 β€”
KXPGATOUR-USO26-GWOO Will Gary Woodland win the U.S. Open? WINNER $2,463,180 β€”
KXPGATOUR-USO26-AFIT Will Alex Fitzpatrick win the U.S. Open? WINNER $2,309,385 β€”
KXPGATOUR-USO26-JKOI Will Jackson Koivun win the U.S. Open? WINNER $2,108,941 β€”
KXPGATOUR-USO26-HMAT Will Hideki Matsuyama win the U.S. Open? WINNER $2,096,098 β€”
KXPGATOUR-USO26-MMCN Will Maverick McNealy win the U.S. Open? WINNER $2,040,282 β€”
KXPGATOUR-USO26-KBRA Will Keegan Bradley win the U.S. Open? WINNER $1,883,891 β€”
KXPGATOUR-USO26-KKIT Will Kurt Kitayama win the U.S. Open? WINNER $1,815,184 β€”
KXPGATOUR-USO26-MRUS Will Miles Russell win the U.S. Open? WINNER $1,723,978 β€”
KXPGATOUR-USO26-RMAC Will Robert MacIntyre win the U.S. Open? WINNER $1,652,093 β€”
KXPGATOUR-USO26-BGRI Will Ben Griffin win the U.S. Open? WINNER $1,640,094 β€”
KXPGATOUR-USO26-KMIT Will Keith Mitchell win the U.S. Open? WINNER $1,639,309 1Β’
KXPGATOUR-USO26-MGRE Will Max Greyserman win the U.S. Open? WINNER $1,622,097 β€”
KXPGATOUR-USO26-BKOH Will Ben Kohles win the U.S. Open? WINNER $1,360,249 β€”
KXPGATOUR-USO26-SIM Will Sungjae Im win the U.S. Open? WINNER $1,294,606 β€”
KXPGATOUR-USO26-JPOS Will J.T. Poston win the U.S. Open? WINNER $1,285,528 β€”
KXPGATOUR-USO26-ADUM Will Adrien Dumont De Chassart win the U.S. Open? WINNER $1,259,038 β€”
KXPGATOUR-USO26-JVAN Will Jackson Van Paris win the U.S. Open? WINNER $1,248,529 β€”
KXPGATOUR-USO26-BJAM Will Benjamin James win the U.S. Open? WINNER $1,199,910 β€”
KXPGATOUR-USO26-EGRI Will Emiliano Grillo win the U.S. Open? WINNER $1,178,947 1Β’
KXPGATOUR-USO26-RHIS Will Ryo Hisatsune win the U.S. Open? WINNER $1,123,743 β€”
KXPGATOUR-USO26-JNIC Will James Nicholas win the U.S. Open? WINNER $1,078,237 β€”
KXPGATOUR-USO26-MKIM Will Michael Kim win the U.S. Open? WINNER $1,060,135 β€”
KXPGATOUR-USO26-RFOX Will Ryan Fox win the U.S. Open? WINNER $1,055,224 β€”
KXPGATOUR-USO26-AHID Will Angel Hidalgo win the U.S. Open? WINNER $1,009,646 β€”
KXPGATOUR-USO26-WMOU Will William Mouw win the U.S. Open? WINNER $917,020 β€”
KXPGATOUR-USO26-MMCG Will Max McGreevy win the U.S. Open? WINNER $878,740 β€”
KXPGATOUR-USO26-APUT Will Andrew Putnam win the U.S. Open? WINNER $712,573 β€”
KXPGATOUR-USO26-MBRE Will Michael Brennan win the U.S. Open? WINNER $700,605 β€”
KXPGATOUR-USO26-JKEE Will John Keefer win the U.S. Open? WINNER $698,193 β€”
KXPGATOUR-USO26-NNOR Will Niklas Norgaard Moller win the U.S. Open? WINNER $689,762 β€”
KXPGATOUR-USO26-NECH Will Nicolas Echavarria win the U.S. Open? WINNER $661,159 β€”
KXPGATOUR-USO26-PCOO Will Pierceson Coody win the U.S. Open? WINNER $647,594 β€”
KXPGATOUR-USO26-STIB Will Spencer Tibbits win the U.S. Open? WINNER $636,268 β€”
KXPGATOUR-USO26-BCAU Will Bud Cauley win the U.S. Open? WINNER $571,700 β€”
KXPGATOUR-USO26-JPAR Will John Parry win the U.S. Open? WINNER $528,040 β€”
KXPGATOUR-USO26-PROD Will Patrick Rodgers win the U.S. Open? WINNER $524,888 β€”
KXPGATOUR-USO26-NSHI Will Neal Shipley win the U.S. Open? WINNER $382,991 β€”
KXPGATOUR-USO26-CSUR Will Caleb Surratt win the U.S. Open? WINNER $358,391 β€”
KXPGATOP20-USO26-XSCH U.S. Open: Will Xander Schauffele finish top 20? TOP20 $348,679 91Β’
KXPGATOUR-USO26-LCAN Will Laurie Canter win the U.S. Open? WINNER $324,728 β€”
KXPGATOP5-USO26-SSCH U.S. Open: Will Scottie Scheffler finish top 5? TOP5 $218,906 73Β’
KXPGATOUR-USO26-ZBLA Will Zac Blair win the U.S. Open? WINNER $205,683 β€”
KXPGATOP10-USO26-SSCH U.S. Open: Will Scottie Scheffler finish top 10? TOP10 $194,974 90Β’
KXPGATOP20-USO26-SSCH U.S. Open: Will Scottie Scheffler finish top 20? TOP20 $149,581 98Β’
KXPGATOP20-USO26-RMCI U.S. Open: Will Rory McIlroy finish top 20? TOP20 $128,755 65Β’
KXPGATOP5-USO26-RMCI U.S. Open: Will Rory McIlroy finish top 5? TOP5 $118,758 15Β’
KXPGATOP10-USO26-RMCI U.S. Open: Will Rory McIlroy finish top 10? TOP10 $117,319 34Β’
KXPGATOP10-USO26-WCLA U.S. Open: Will Wyndham Clark finish top 10? TOP10 $98,797 99Β’
KXPGATOP5-USO26-WCLA U.S. Open: Will Wyndham Clark finish top 5? TOP5 $84,221 97Β’
KXPGATOP5-USO26-MFIT U.S. Open: Will Matt Fitzpatrick finish top 5? TOP5 $84,075 28Β’
KXPGATOP20-USO26-TFLE U.S. Open: Will Tommy Fleetwood finish top 20? TOP20 $83,366 81Β’
KXPGATOP5-USO26-XSCH U.S. Open: Will Xander Schauffele finish top 5? TOP5 $81,552 45Β’
KXPGATOUR-USO26-PUIH Will Peter Uihlein win the U.S. Open? WINNER $80,577 β€”
KXPGATOP20-USO26-CGOT U.S. Open: Will Chris Gotterup finish top 20? TOP20 $71,590 10Β’
KXPGATOP20-USO26-JROS U.S. Open: Will Justin Rose finish top 20? TOP20 $71,150 39Β’
KXPGATOP10-USO26-XSCH U.S. Open: Will Xander Schauffele finish top 10? TOP10 $65,852 71Β’
KXPGATOP20-USO26-MFIT U.S. Open: Will Matt Fitzpatrick finish top 20? TOP20 $65,749 83Β’
KXPGATOP10-USO26-MFIT U.S. Open: Will Matt Fitzpatrick finish top 10? TOP10 $64,826 54Β’
KXPGATOP20-USO26-CAME U.S. Open: Will Cameron Young finish top 20? TOP20 $63,714 34Β’
KXPGATOP10-USO26-TFLE U.S. Open: Will Tommy Fleetwood finish top 10? TOP10 $63,688 58Β’
KXPGATOP10-USO26-CGOT U.S. Open: Will Chris Gotterup finish top 10? TOP10 $62,646 2Β’
KXPGATOP20-USO26-WCLA U.S. Open: Will Wyndham Clark finish top 20? TOP20 $62,520 β€”
KXPGATOP20-USO26-SBUR U.S. Open: Will Sam Burns finish top 20? TOP20 $61,398 88Β’
KXPGATOP20-USO26-LABE U.S. Open: Will Ludvig Aberg finish top 20? TOP20 $58,382 13Β’
KXPGATOP5-USO26-TFLE U.S. Open: Will Tommy Fleetwood finish top 5? TOP5 $58,192 31Β’
KXPGATOP20-USO26-JNIE U.S. Open: Will Joaquin Niemann finish top 20? TOP20 $57,680 23Β’
KXPGATOP20-USO26-BKOH U.S. Open: Will Ben Kohles finish top 20? TOP20 $57,287 16Β’
KXPGATOP20-USO26-THAT U.S. Open: Will Tyrrell Hatton finish top 20? TOP20 $56,573 40Β’
KXPGATOP20-USO26-RHEN U.S. Open: Will Russell Henley finish top 20? TOP20 $54,984 1Β’
KXPGATOP20-USO26-ABHA U.S. Open: Will Akshay Bhatia finish top 20? TOP20 $51,081 47Β’
KXPGATOUR-USO26-ELEE Will Eric Lee win the U.S. Open? WINNER $48,444 β€”
KXPGATOP20-USO26-STHE U.S. Open: Will Sahith Theegala finish top 20? TOP20 $47,243 88Β’
KXPGATOP10-USO26-SBUR U.S. Open: Will Sam Burns finish top 10? TOP10 $45,606 66Β’
KXPGATOP10-USO26-JNIE U.S. Open: Will Joaquin Niemann finish top 10? TOP10 $44,435 6Β’
KXPGATOUR-USO26-DWU Will Dylan Wu win the U.S. Open? WINNER $44,048 β€”
KXPGATOP10-USO26-CMOR U.S. Open: Will Collin Morikawa finish top 10? TOP10 $41,270 51Β’
KXPGATOP20-USO26-ARAI U.S. Open: Will Aaron Rai finish top 20? TOP20 $39,164 49Β’
KXPGATOP20-USO26-CMOR U.S. Open: Will Collin Morikawa finish top 20? TOP20 $38,540 80Β’
KXPGATOP20-USO26-DJOH U.S. Open: Will Dustin Johnson finish top 20? TOP20 $37,961 33Β’
KXPGATOP10-USO26-THAT U.S. Open: Will Tyrrell Hatton finish top 10? TOP10 $37,656 12Β’
KXPGATOP10-USO26-RHEN U.S. Open: Will Russell Henley finish top 10? TOP10 $36,787 1Β’
KXPGATOP10-USO26-CAME U.S. Open: Will Cameron Young finish top 10? TOP10 $36,352 11Β’
KXPGATOP10-USO26-JROS U.S. Open: Will Justin Rose finish top 10? TOP10 $36,306 14Β’
KXPGAH2H-USO26SSCHRMCI-RMCI Will Rory McIlroy beat Scottie Scheffler in the U.S. Open? MATCHUP $35,049 22Β’
KXPGATOP20-USO26-TKIM U.S. Open: Will Tom Kim finish top 20? TOP20 $34,650 88Β’
KXPGATOP5-USO26-LABE U.S. Open: Will Ludvig Aberg finish top 5? TOP5 $31,070 12Β’
KXPGATOP10-USO26-ARAI U.S. Open: Will Aaron Rai finish top 10? TOP10 $30,962 17Β’
KXPGATOP5-USO26-CAME U.S. Open: Will Cameron Young finish top 5? TOP5 $30,954 11Β’
KXPGATOP10-USO26-LABE U.S. Open: Will Ludvig Aberg finish top 10? TOP10 $30,885 3Β’
KXPGATOP10-USO26-GWOO U.S. Open: Will Gary Woodland finish top 10? TOP10 $30,141 17Β’
KXPGATOUR-USO26-MFLE Will Marek Fleming win the U.S. Open? WINNER $29,856 β€”
KXPGATOP5-USO26-SBUR U.S. Open: Will Sam Burns finish top 5? TOP5 $29,292 38Β’
KXPGATOP20-USO26-MRUS U.S. Open: Will Miles Russell finish top 20? TOP20 $28,388 3Β’
KXPGATOP5-USO26-CMOR U.S. Open: Will Collin Morikawa finish top 5? TOP5 $28,376 25Β’
KXPGATOP20-USO26-GWOO U.S. Open: Will Gary Woodland finish top 20? TOP20 $28,168 44Β’
KXPGAH2H-USO26SSCHRMCI-SSCH Will Scottie Scheffler beat Rory McIlroy in the U.S. Open? MATCHUP $25,842 94Β’
KXPGATOP5-USO26-RHEN U.S. Open: Will Russell Henley finish top 5? TOP5 $25,621 1Β’
KXPGATOP10-USO26-TKIM U.S. Open: Will Tom Kim finish top 10? TOP10 $25,500 67Β’
KXPGATOP20-USO26-JTHO U.S. Open: Will Justin Thomas finish top 20? TOP20 $25,188 43Β’
KXPGATOP5-USO26-CGOT U.S. Open: Will Chris Gotterup finish top 5? TOP5 $25,029 11Β’
KXPGATOP20-USO26-JSPI U.S. Open: Will Jordan Spieth finish top 20? TOP20 $24,927 17Β’
KXPGATOP10-USO26-AFIT U.S. Open: Will Alex Fitzpatrick finish top 10? TOP10 $24,326 33Β’
KXPGATOP10-USO26-KKIT U.S. Open: Will Kurt Kitayama finish top 10? TOP10 $24,107 1Β’
KXPGATOP10-USO26-RFOX U.S. Open: Will Ryan Fox finish top 10? TOP10 $23,603 1Β’
KXPGATOP20-USO26-RMAC U.S. Open: Will Robert MacIntyre finish top 20? TOP20 $23,228 10Β’
KXPGATOP20-USO26-BJAM U.S. Open: Will Benjamin James finish top 20? TOP20 $22,875 3Β’
KXPGATOP20-USO26-MKIM U.S. Open: Will Michael Kim finish top 20? TOP20 $22,001 43Β’
KXPGATOP20-USO26-AFIT U.S. Open: Will Alex Fitzpatrick finish top 20? TOP20 $21,620 63Β’
KXPGATOP5-USO26-THAT U.S. Open: Will Tyrrell Hatton finish top 5? TOP5 $21,217 4Β’
KXPGATOP5-USO26-RCOW U.S. Open: Will Ryder Cowan finish top 5? TOP5 $21,147 7Β’
KXPGATOP5-USO26-JTHO U.S. Open: Will Justin Thomas finish top 5? TOP5 $21,056 5Β’
KXPGATOP10-USO26-ABHA U.S. Open: Will Akshay Bhatia finish top 10? TOP10 $20,673 18Β’
KXPGATOP20-USO26-JKOI U.S. Open: Will Jackson Koivun finish top 20? TOP20 $19,493 8Β’
KXPGATOP5-USO26-TKIM U.S. Open: Will Tom Kim finish top 5? TOP5 $18,889 41Β’
KXPGATOP5-USO26-KKIT U.S. Open: Will Kurt Kitayama finish top 5? TOP5 $17,709 1Β’
KXPGATOP10-USO26-JTHO U.S. Open: Will Justin Thomas finish top 10? TOP10 $17,692 15Β’
KXPGATOP5-USO26-JROS U.S. Open: Will Justin Rose finish top 5? TOP5 $17,536 7Β’
KXPGATOP5-USO26-KBRA U.S. Open: Will Keegan Bradley finish top 5? TOP5 $17,405 12Β’
KXPGATOP10-USO26-JSPI U.S. Open: Will Jordan Spieth finish top 10? TOP10 $16,847 4Β’
KXPGATOP10-USO26-BCAU U.S. Open: Will Bud Cauley finish top 10? TOP10 $15,650 3Β’
KXPGATOP20-USO26-KBRA U.S. Open: Will Keegan Bradley finish top 20? TOP20 $15,582 63Β’
KXPGATOP20-USO26-APUT U.S. Open: Will Andrew Putnam finish top 20? TOP20 $15,400 9Β’
KXPGATOP20-USO26-CCON U.S. Open: Will Corey Conners finish top 20? TOP20 $15,263 59Β’
KXPGATOP20-USO26-BHAR U.S. Open: Will Brian Harman finish top 20? TOP20 $15,228 45Β’
KXPGATOP10-USO26-MRUS U.S. Open: Will Miles Russell finish top 10? TOP10 $14,855 2Β’
KXPGATOP10-USO26-BHAR U.S. Open: Will Brian Harman finish top 10? TOP10 $14,702 16Β’
KXPGATOP10-USO26-DJOH U.S. Open: Will Dustin Johnson finish top 10? TOP10 $13,898 10Β’
KXPGATOP20-USO26-RFOX U.S. Open: Will Ryan Fox finish top 20? TOP20 $13,889 7Β’
KXPGATOP20-USO26-MBRE U.S. Open: Will Michael Brennan finish top 20? TOP20 $13,765 11Β’
KXPGATOP10-USO26-MKIM U.S. Open: Will Michael Kim finish top 10? TOP10 $13,558 15Β’
KXPGATOP10-USO26-RMAC U.S. Open: Will Robert MacIntyre finish top 10? TOP10 $13,406 2Β’
KXPGATOP5-USO26-GWOO U.S. Open: Will Gary Woodland finish top 5? TOP5 $12,650 6Β’
KXPGATOP10-USO26-JKOI U.S. Open: Will Jackson Koivun finish top 10? TOP10 $12,442 2Β’
KXPGATOP5-USO26-JNIE U.S. Open: Will Joaquin Niemann finish top 5? TOP5 $12,417 2Β’
KXPGATOP20-USO26-MMCN U.S. Open: Will Maverick McNealy finish top 20? TOP20 $12,379 52Β’
KXPGATOP20-USO26-KKIT U.S. Open: Will Kurt Kitayama finish top 20? TOP20 $12,273 6Β’
KXPGATOP5-USO26-MBRE U.S. Open: Will Michael Brennan finish top 5? TOP5 $12,022 1Β’
KXPGAH2H-USO26JROSTHAT-THAT Will Tyrrell Hatton beat Justin Rose in the U.S. Open? MATCHUP $12,009 63Β’
KXPGATOP20-USO26-SSTE U.S. Open: Will Sam Stevens finish top 20? TOP20 $11,885 87Β’
KXPGAH2H-USO26MRUSJKOI-JKOI Will Jackson Koivun beat Miles Russell in the U.S. Open? MATCHUP $11,677 90Β’
KXPGATOP20-USO26-NECH U.S. Open: Will Nicolas Echavarria finish top 20? TOP20 $11,613 1Β’
KXPGATOP20-USO26-HHIG U.S. Open: Will Harry Higgs finish top 20? TOP20 $11,502 9Β’
KXPGATOP20-USO26-HMAT U.S. Open: Will Hideki Matsuyama finish top 20? TOP20 $11,498 7Β’
KXPGATOP20-USO26-JBRI U.S. Open: Will Jacob Bridgeman finish top 20? TOP20 $11,348 5Β’
KXPGATOP10-USO26-BKOH U.S. Open: Will Ben Kohles finish top 10? TOP10 $11,238 3Β’
KXPGATOP5-USO26-STHE U.S. Open: Will Sahith Theegala finish top 5? TOP5 $11,136 41Β’
KXPGATOP5-USO26-RMAC U.S. Open: Will Robert MacIntyre finish top 5? TOP5 $10,817 16Β’
KXPGATOP20-USO26-AHID U.S. Open: Will Angel Hidalgo finish top 20? TOP20 $10,099 3Β’
KXPGATOP20-USO26-WMOU U.S. Open: Will William Mouw finish top 20? TOP20 $9,990 28Β’
KXPGATOP20-USO26-MMCG U.S. Open: Will Max McGreevy finish top 20? TOP20 $9,712 28Β’
KXPGATOP20-USO26-RCOW U.S. Open: Will Ryder Cowan finish top 20? TOP20 $9,674 40Β’
KXPGATOP20-USO26-SIM U.S. Open: Will Sungjae Im finish top 20? TOP20 $9,287 41Β’
KXPGAH2H-USO26JSPIJTHO-JTHO Will Justin Thomas beat Jordan Spieth in the U.S. Open? MATCHUP $9,256 91Β’
KXPGATOP10-USO26-SSTE U.S. Open: Will Sam Stevens finish top 10? TOP10 $9,232 63Β’
KXPGATOP20-USO26-PUIH U.S. Open: Will Peter Uihlein finish top 20? TOP20 $9,180 1Β’
KXPGATOP10-USO26-STHE U.S. Open: Will Sahith Theegala finish top 10? TOP10 $9,083 66Β’
KXPGATOP5-USO26-RFOX U.S. Open: Will Ryan Fox finish top 5? TOP5 $8,941 11Β’
KXPGATOP5-USO26-HHIG U.S. Open: Will Harry Higgs finish top 5? TOP5 $8,738 15Β’
KXPGATOP20-USO26-STIB U.S. Open: Will Spencer Tibbits finish top 20? TOP20 $8,528 3Β’
KXPGATOP5-USO26-AFIT U.S. Open: Will Alex Fitzpatrick finish top 5? TOP5 $8,365 12Β’
KXPGATOP10-USO26-HHIG U.S. Open: Will Harry Higgs finish top 10? TOP10 $8,247 1Β’
KXPGATOP20-USO26-CSUR U.S. Open: Will Caleb Surratt finish top 20? TOP20 $8,245 1Β’
KXPGATOP10-USO26-RHIS U.S. Open: Will Ryo Hisatsune finish top 10? TOP10 $8,134 14Β’
KXPGATOP5-USO26-BHAR U.S. Open: Will Brian Harman finish top 5? TOP5 $8,118 5Β’
KXPGATOP20-USO26-JNIC U.S. Open: Will James Nicholas finish top 20? TOP20 $7,852 1Β’
KXPGATOP10-USO26-BGRI U.S. Open: Will Ben Griffin finish top 10? TOP10 $7,767 12Β’
KXPGATOP10-USO26-MMCN U.S. Open: Will Maverick McNealy finish top 10? TOP10 $7,692 22Β’
KXPGAH2H-USO26JROSTHAT-JROS Will Justin Rose beat Tyrrell Hatton in the U.S. Open? MATCHUP $7,483 86Β’
KXPGATOP10-USO26-SIM U.S. Open: Will Sungjae Im finish top 10? TOP10 $7,483 15Β’
KXPGATOP5-USO26-SSTE U.S. Open: Will Sam Stevens finish top 5? TOP5 $7,377 36Β’
KXPGATOP10-USO26-MBRE U.S. Open: Will Michael Brennan finish top 10? TOP10 $7,238 2Β’
KXPGAH2H-USO26JSPIJTHO-JSPI Will Jordan Spieth beat Justin Thomas in the U.S. Open? MATCHUP $7,055 45Β’
KXPGATOP5-USO26-APUT U.S. Open: Will Andrew Putnam finish top 5? TOP5 $7,054 11Β’
KXPGATOP20-USO26-BCAU U.S. Open: Will Bud Cauley finish top 20? TOP20 $6,962 14Β’
KXPGATOP5-USO26-ARAI U.S. Open: Will Aaron Rai finish top 5? TOP5 $6,755 5Β’
KXPGATOP5-USO26-JSPI U.S. Open: Will Jordan Spieth finish top 5? TOP5 $6,681 1Β’
KXPGATOP10-USO26-JBRI U.S. Open: Will Jacob Bridgeman finish top 10? TOP10 $6,657 3Β’
KXPGATOP5-USO26-ABHA U.S. Open: Will Akshay Bhatia finish top 5? TOP5 $6,358 5Β’
KXPGATOP10-USO26-EGRI U.S. Open: Will Emiliano Grillo finish top 10? TOP10 $6,088 46Β’
KXPGATOP5-USO26-DJOH U.S. Open: Will Dustin Johnson finish top 5? TOP5 $6,027 3Β’
KXPGATOP20-USO26-BGRI U.S. Open: Will Ben Griffin finish top 20? TOP20 $5,998 41Β’
KXPGATOP5-USO26-MMCG U.S. Open: Will Max McGreevy finish top 5? TOP5 $5,875 2Β’
KXPGATOP10-USO26-MMCG U.S. Open: Will Max McGreevy finish top 10? TOP10 $5,761 7Β’
KXPGATOP10-USO26-HMAT U.S. Open: Will Hideki Matsuyama finish top 10? TOP10 $5,261 1Β’
KXPGATOP20-USO26-KMIT U.S. Open: Will Keith Mitchell finish top 20? TOP20 $5,194 81Β’
KXPGATOP5-USO26-HMAT U.S. Open: Will Hideki Matsuyama finish top 5? TOP5 $5,122 1Β’
KXPGATOP5-USO26-MKIM U.S. Open: Will Michael Kim finish top 5? TOP5 $4,873 5Β’
KXPGATOP10-USO26-PROD U.S. Open: Will Patrick Rodgers finish top 10? TOP10 $4,842 1Β’
KXPGATOP5-USO26-MMCN U.S. Open: Will Maverick McNealy finish top 5? TOP5 $4,833 7Β’
KXPGATOP10-USO26-NECH U.S. Open: Will Nicolas Echavarria finish top 10? TOP10 $4,826 1Β’
KXPGATOP5-USO26-JKOI U.S. Open: Will Jackson Koivun finish top 5? TOP5 $4,808 11Β’
KXPGATOP10-USO26-JKEE U.S. Open: Will John Keefer finish top 10? TOP10 $4,717 1Β’
KXPGATOP10-USO26-BJAM U.S. Open: Will Benjamin James finish top 10? TOP10 $4,716 4Β’
KXPGATOP20-USO26-MGRE U.S. Open: Will Max Greyserman finish top 20? TOP20 $4,534 4Β’
KXPGATOP10-USO26-CCON U.S. Open: Will Corey Conners finish top 10? TOP10 $4,461 26Β’
KXPGATOP20-USO26-RHIS U.S. Open: Will Ryo Hisatsune finish top 20? TOP20 $4,438 42Β’
KXPGAH2H-USO26MRUSJKOI-MRUS Will Miles Russell beat Jackson Koivun in the U.S. Open? MATCHUP $4,437 49Β’
KXPGATOP20-USO26-EGRI U.S. Open: Will Emiliano Grillo finish top 20? TOP20 $4,391 77Β’
KXPGATOP20-USO26-JKEE U.S. Open: Will John Keefer finish top 20? TOP20 $4,234 6Β’
KXPGATOP10-USO26-RCOW U.S. Open: Will Ryder Cowan finish top 10? TOP10 $4,205 13Β’
KXPGATOP20-USO26-PROD U.S. Open: Will Patrick Rodgers finish top 20? TOP20 $4,167 1Β’
KXPGATOP5-USO26-MRUS U.S. Open: Will Miles Russell finish top 5? TOP5 $4,118 1Β’
KXPGATOP5-USO26-JBRI U.S. Open: Will Jacob Bridgeman finish top 5? TOP5 $4,080 1Β’
KXPGATOP10-USO26-APUT U.S. Open: Will Andrew Putnam finish top 10? TOP10 $4,037 2Β’
KXPGATOP20-USO26-NSHI U.S. Open: Will Neal Shipley finish top 20? TOP20 $3,935 1Β’
KXPGATOP20-USO26-ZBLA U.S. Open: Will Zac Blair finish top 20? TOP20 $3,904 33Β’
KXPGATOP20-USO26-JPOS U.S. Open: Will J.T. Poston finish top 20? TOP20 $3,810 48Β’
KXPGATOP10-USO26-CSUR U.S. Open: Will Caleb Surratt finish top 10? TOP10 $3,535 1Β’
KXPGATOP10-USO26-KMIT U.S. Open: Will Keith Mitchell finish top 10? TOP10 $3,524 55Β’
KXPGATOP20-USO26-ELEE U.S. Open: Will Eric Lee finish top 20? TOP20 $3,505 1Β’
KXPGATOP20-USO26-PCOO U.S. Open: Will Pierceson Coody finish top 20? TOP20 $3,457 28Β’
KXPGATOP20-USO26-JPAR U.S. Open: Will John Parry finish top 20? TOP20 $3,419 35Β’
KXPGATOP5-USO26-KMIT U.S. Open: Will Keith Mitchell finish top 5? TOP5 $3,174 29Β’
KXPGATOP5-USO26-BKOH U.S. Open: Will Ben Kohles finish top 5? TOP5 $3,032 1Β’
KXPGATOP10-USO26-KBRA U.S. Open: Will Keegan Bradley finish top 10? TOP10 $2,905 31Β’
KXPGATOP5-USO26-BGRI U.S. Open: Will Ben Griffin finish top 5? TOP5 $2,858 3Β’
KXPGATOP20-USO26-NNOR U.S. Open: Will Niklas Norgaard Moller finish top 20? TOP20 $2,821 20Β’
KXPGATOP10-USO26-ZBLA U.S. Open: Will Zac Blair finish top 10? TOP10 $2,791 9Β’
KXPGATOP10-USO26-PUIH U.S. Open: Will Peter Uihlein finish top 10? TOP10 $2,382 1Β’
KXPGATOP5-USO26-RHIS U.S. Open: Will Ryo Hisatsune finish top 5? TOP5 $2,347 6Β’
KXPGATOP5-USO26-PROD U.S. Open: Will Patrick Rodgers finish top 5? TOP5 $2,340 1Β’
KXPGATOP10-USO26-MGRE U.S. Open: Will Max Greyserman finish top 10? TOP10 $2,265 4Β’
KXPGATOP10-USO26-JPOS U.S. Open: Will J.T. Poston finish top 10? TOP10 $2,059 17Β’
KXPGATOP10-USO26-JNIC U.S. Open: Will James Nicholas finish top 10? TOP10 $1,895 1Β’
KXPGATOP5-USO26-SIM U.S. Open: Will Sungjae Im finish top 5? TOP5 $1,872 4Β’
KXPGATOP5-USO26-JNIC U.S. Open: Will James Nicholas finish top 5? TOP5 $1,793 1Β’
KXPGATOP5-USO26-CCON U.S. Open: Will Corey Conners finish top 5? TOP5 $1,788 11Β’
KXPGATOP20-USO26-DWU U.S. Open: Will Dylan Wu finish top 20? TOP20 $1,776 1Β’
KXPGATOP20-USO26-JVAN U.S. Open: Will Jackson Van Paris finish top 20? TOP20 $1,703 1Β’
KXPGAH2H-USO26R4RHENPUIH-PUIH Will Peter Uihlein beat Russell Henley in the 4th round of the U.S. Open? MATCHUP $1,682 25Β’
KXPGATOP5-USO26-EGRI U.S. Open: Will Emiliano Grillo finish top 5? TOP5 $1,395 22Β’
KXPGAH2H-USO26R4SSCHWCLA-WCLA Will Wyndham Clark beat Scottie Scheffler in the 4th round of the U.S. Open? MATCHUP $1,366 29Β’
KXPGATOP5-USO26-NSHI U.S. Open: Will Neal Shipley finish top 5? TOP5 $1,364 1Β’
KXPGATOP20-USO26-LCAN U.S. Open: Will Laurie Canter finish top 20? TOP20 $1,266 14Β’
KXPGATOP20-USO26-ADUM U.S. Open: Will Adrien Dumont De Chassart finish top 20? TOP20 $1,146 1Β’
KXPGATOP5-USO26-MGRE U.S. Open: Will Max Greyserman finish top 5? TOP5 $1,072 1Β’
KXPGATOP5-USO26-JKEE U.S. Open: Will John Keefer finish top 5? TOP5 $987 1Β’
KXPGAH2H-USO26R4SSCHWCLA-SSCH Will Scottie Scheffler beat Wyndham Clark in the 4th round of the U.S. Open? MATCHUP $798 72Β’
KXPGATOP10-USO26-AHID U.S. Open: Will Angel Hidalgo finish top 10? TOP10 $774 1Β’
KXPGATOP5-USO26-JPOS U.S. Open: Will J.T. Poston finish top 5? TOP5 $709 5Β’
KXPGATOP10-USO26-STIB U.S. Open: Will Spencer Tibbits finish top 10? TOP10 $707 1Β’
KXPGATOP10-USO26-NNOR U.S. Open: Will Niklas Norgaard Moller finish top 10? TOP10 $591 5Β’
KXPGATOP5-USO26-ZBLA U.S. Open: Will Zac Blair finish top 5? TOP5 $585 2Β’
KXPGATOP5-USO26-BCAU U.S. Open: Will Bud Cauley finish top 5? TOP5 $558 1Β’
KXPGAH2H-USO26R4RMACCGOT-CGOT Will Chris Gotterup beat Robert MacIntyre in the 4th round of the U.S. Open? MATCHUP $551 52Β’
KXPGAH2H-USO26R4AHIDRFOX-RFOX Will Ryan Fox beat Angel Hidalgo in the 4th round of the U.S. Open? MATCHUP $540 70Β’
KXPGAH2H-USO26R4GWOORHIS-GWOO Will Gary Woodland beat Ryo Hisatsune in the 4th round of the U.S. Open? MATCHUP $535 54Β’
KXPGATOP10-USO26-JVAN U.S. Open: Will Jackson Van Paris finish top 10? TOP10 $524 1Β’
KXPGATOP10-USO26-ADUM U.S. Open: Will Adrien Dumont De Chassart finish top 10? TOP10 $519 1Β’
KXPGAH2H-USO26R4JTHOLCAN-JTHO Will Justin Thomas beat Laurie Canter in the 4th round of the U.S. Open? MATCHUP $510 68Β’
KXPGAH2H-USO26R4MBREJSPI-JSPI Will Jordan Spieth beat Michael Brennan in the 4th round of the U.S. Open? MATCHUP $509 57Β’
KXPGATOP5-USO26-PCOO U.S. Open: Will Pierceson Coody finish top 5? TOP5 $499 2Β’
KXPGATOP10-USO26-DWU U.S. Open: Will Dylan Wu finish top 10? TOP10 $494 1Β’
KXPGATOP5-USO26-NECH U.S. Open: Will Nicolas Echavarria finish top 5? TOP5 $484 1Β’
KXPGATOP5-USO26-JPAR U.S. Open: Will John Parry finish top 5? TOP5 $468 3Β’
KXPGATOP5-USO26-CSUR U.S. Open: Will Caleb Surratt finish top 5? TOP5 $467 1Β’
KXPGATOP5-USO26-AHID U.S. Open: Will Angel Hidalgo finish top 5? TOP5 $446 20Β’
KXPGAH2H-USO26R4GWOORHIS-RHIS Will Ryo Hisatsune beat Gary Woodland in the 4th round of the U.S. Open? MATCHUP $406 47Β’
KXPGAH2H-USO26R4RHENPUIH-RHEN Will Russell Henley beat Peter Uihlein in the 4th round of the U.S. Open? MATCHUP $370 76Β’
KXPGATOP5-USO26-BJAM U.S. Open: Will Benjamin James finish top 5? TOP5 $353 11Β’
KXPGATOP5-USO26-WMOU U.S. Open: Will William Mouw finish top 5? TOP5 $346 2Β’
KXPGATOP20-USO26-MFLE U.S. Open: Will Marek Fleming finish top 20? TOP20 $251 7Β’
KXPGAH2H-USO26R4MFLEJBRI-MFLE Will Marek Fleming beat Jacob Bridgeman in the 4th round of the U.S. Open? MATCHUP $235 21Β’
KXPGAH2H-USO26R4AHIDRFOX-AHID Will Angel Hidalgo beat Ryan Fox in the 4th round of the U.S. Open? MATCHUP $229 31Β’
KXPGAH2H-USO26R4XSCHTFLE-XSCH Will Xander Schauffele beat Tommy Fleetwood in the 4th round of the U.S. Open? MATCHUP $209 52Β’
KXPGATOP10-USO26-PCOO U.S. Open: Will Pierceson Coody finish top 10? TOP10 $177 8Β’
KXPGAH2H-USO26R4KKITMGRE-MGRE Will Max Greyserman beat Kurt Kitayama in the 4th round of the U.S. Open? MATCHUP $168 47Β’
KXPGATOP5-USO26-ADUM U.S. Open: Will Adrien Dumont De Chassart finish top 5? TOP5 $156 1Β’
KXPGATOP10-USO26-NSHI U.S. Open: Will Neal Shipley finish top 10? TOP10 $154 1Β’
KXPGAH2H-USO26R4JTHOLCAN-LCAN Will Laurie Canter beat Justin Thomas in the 4th round of the U.S. Open? MATCHUP $137 35Β’
KXPGAH2H-USO26R4APUTHHIG-HHIG Will Harry Higgs beat Andrew Putnam in the 4th round of the U.S. Open? MATCHUP $125 39Β’
KXPGAH2H-USO26R4TKIMSTHE-STHE Will Sahith Theegala beat Tom Kim in the 4th round of the U.S. Open? MATCHUP $119 54Β’
KXPGAH2H-USO26R4SSTEEGRI-SSTE Will Sam Stevens beat Emiliano Grillo in the 4th round of the U.S. Open? MATCHUP $113 55Β’
KXPGAH2H-USO26R4THATBGRI-THAT Will Tyrrell Hatton beat Ben Griffin in the 4th round of the U.S. Open? MATCHUP $112 51Β’
KXPGAH2H-USO26R4JNIECAME-JNIE Will Joaquin Niemann beat Cameron Young in the 4th round of the U.S. Open? MATCHUP $112 44Β’
KXPGAH2H-USO26R4SBURKMIT-SBUR Will Sam Burns beat Keith Mitchell in the 4th round of the U.S. Open? MATCHUP $112 60Β’
KXPGAH2H-USO26R4TKIMSTHE-TKIM Will Tom Kim beat Sahith Theegala in the 4th round of the U.S. Open? MATCHUP $110 50Β’
KXPGAH2H-USO26R4NNORWMOU-NNOR Will Niklas Norgaard Moller beat William Mouw in the 4th round of the U.S. Open? MATCHUP $110 40Β’
KXPGAH2H-USO26R4SSTEEGRI-EGRI Will Emiliano Grillo beat Sam Stevens in the 4th round of the U.S. Open? MATCHUP $91 49Β’
KXPGATOP5-USO26-NNOR U.S. Open: Will Niklas Norgaard Moller finish top 5? TOP5 $90 11Β’
KXPGAH2H-USO26R4CMORMFIT-CMOR Will Collin Morikawa beat Matt Fitzpatrick in the 4th round of the U.S. Open? MATCHUP $75 49Β’
KXPGAH2H-USO26R4JKEELABE-JKEE Will John Keefer beat Ludvig Aberg in the 4th round of the U.S. Open? MATCHUP $61 38Β’
KXPGAH2H-USO26R4ELEEPROD-ELEE Will Eric Lee beat Patrick Rodgers in the 4th round of the U.S. Open? MATCHUP $59 41Β’
KXPGAH2H-USO26R4MRUSJKOI-MRUS Will Miles Russell beat Jackson Koivun in the 4th round of the U.S. Open? MATCHUP $54 40Β’
KXPGAH2H-USO26R4DWUJNIC-JNIC Will James Nicholas beat Dylan Wu in the 4th round of the U.S. Open? MATCHUP $51 49Β’
KXPGAH2H-USO26R4JNIECAME-CAME Will Cameron Young beat Joaquin Niemann in the 4th round of the U.S. Open? MATCHUP $50 62Β’
KXPGATOP10-USO26-LCAN U.S. Open: Will Laurie Canter finish top 10? TOP10 $50 3Β’
KXPGAH2H-USO26R4MFLEJBRI-JBRI Will Jacob Bridgeman beat Marek Fleming in the 4th round of the U.S. Open? MATCHUP $40 83Β’
KXPGAH2H-USO26R4MMCNBHAR-BHAR Will Brian Harman beat Maverick McNealy in the 4th round of the U.S. Open? MATCHUP $31 47Β’
KXPGAH2H-USO26R4ABHARMCI-ABHA Will Akshay Bhatia beat Rory McIlroy in the 4th round of the U.S. Open? MATCHUP $30 41Β’
KXPGAH2H-USO26R4STIBJVAN-STIB Will Spencer Tibbits beat Jackson Van Paris in the 4th round of the U.S. Open? MATCHUP $27 36Β’
KXPGATOP10-USO26-WMOU U.S. Open: Will William Mouw finish top 10? TOP10 $19 8Β’
KXPGAH2H-USO26R4XSCHTFLE-TFLE Will Tommy Fleetwood beat Xander Schauffele in the 4th round of the U.S. Open? MATCHUP $18 53Β’
KXPGAH2H-USO26R4ADUMNECH-NECH Will Nicolas Echavarria beat Adrien Dumont De Chassart in the 4th round of the U.S. Open? MATCHUP $18 54Β’
KXPGATOP5-USO26-JVAN U.S. Open: Will Jackson Van Paris finish top 5? TOP5 $16 1Β’
KXPGAH2H-USO26R4ABHARMCI-RMCI Will Rory McIlroy beat Akshay Bhatia in the 4th round of the U.S. Open? MATCHUP $15 61Β’
KXPGAH2H-USO26R4APUTHHIG-APUT Will Andrew Putnam beat Harry Higgs in the 4th round of the U.S. Open? MATCHUP $15 66Β’
KXPGATOP10-USO26-JPAR U.S. Open: Will John Parry finish top 10? TOP10 $10 10Β’
KXPGAH2H-USO26R4ADUMNECH-ADUM Will Adrien Dumont De Chassart beat Nicolas Echavarria in the 4th round of the U.S. Open? MATCHUP $9 51Β’
KXPGAH2H-USO26R4CMORMFIT-MFIT Will Matt Fitzpatrick beat Collin Morikawa in the 4th round of the U.S. Open? MATCHUP $9 56Β’
KXPGAH2H-USO26R4DWUJNIC-DWU Will Dylan Wu beat James Nicholas in the 4th round of the U.S. Open? MATCHUP $9 55Β’
KXPGAH2H-USO26R4SBURKMIT-KMIT Will Keith Mitchell beat Sam Burns in the 4th round of the U.S. Open? MATCHUP $8 43Β’
KXPGAH2H-USO26R4RCOWAFIT-RCOW Will Ryder Cowan beat Alex Fitzpatrick in the 4th round of the U.S. Open? MATCHUP $6 33Β’
KXPGAH2H-USO26R4ZBLAARAI-ZBLA Will Zac Blair beat Aaron Rai in the 4th round of the U.S. Open? MATCHUP $5 38Β’
KXPGAH2H-USO26R4PCOODJOH-PCOO Will Pierceson Coody beat Dustin Johnson in the 4th round of the U.S. Open? MATCHUP $4 49Β’
KXPGAH2H-USO26R4MMCNBHAR-MMCN Will Maverick McNealy beat Brian Harman in the 4th round of the U.S. Open? MATCHUP $3 58Β’
KXPGAH2H-USO26R4RMACCGOT-RMAC Will Robert MacIntyre beat Chris Gotterup in the 4th round of the U.S. Open? MATCHUP $3 51Β’
KXPGAH2H-USO26R4CCONKBRA-CCON Will Corey Conners beat Keegan Bradley in the 4th round of the U.S. Open? MATCHUP $2 49Β’
KXPGATOP5-USO26-STIB U.S. Open: Will Spencer Tibbits finish top 5? TOP5 $0 1Β’
KXPGATOP5-USO26-ELEE U.S. Open: Will Eric Lee finish top 5? TOP5 $0 1Β’
KXPGATOP5-USO26-MFLE U.S. Open: Will Marek Fleming finish top 5? TOP5 $0 1Β’
KXPGATOP5-USO26-DWU U.S. Open: Will Dylan Wu finish top 5? TOP5 $0 1Β’
KXPGATOP5-USO26-PUIH U.S. Open: Will Peter Uihlein finish top 5? TOP5 $0 1Β’
KXPGATOP5-USO26-LCAN U.S. Open: Will Laurie Canter finish top 5? TOP5 $0 11Β’
KXPGATOP10-USO26-ELEE U.S. Open: Will Eric Lee finish top 10? TOP10 $0 1Β’
KXPGATOP10-USO26-MFLE U.S. Open: Will Marek Fleming finish top 10? TOP10 $0 1Β’
KXPGAH2H-USO26R4CCONKBRA-KBRA Will Keegan Bradley beat Corey Conners in the 4th round of the U.S. Open? MATCHUP $0 56Β’
KXPGAH2H-USO26R4RCOWAFIT-AFIT Will Alex Fitzpatrick beat Ryder Cowan in the 4th round of the U.S. Open? MATCHUP $0 72Β’
KXPGAH2H-USO26R4MKIMSIM-SIM Will Sungjae Im beat Michael Kim in the 4th round of the U.S. Open? MATCHUP $0 51Β’
KXPGAH2H-USO26R4MKIMSIM-MKIM Will Michael Kim beat Sungjae Im in the 4th round of the U.S. Open? MATCHUP $0 54Β’
KXPGAH2H-USO26R4JPOSJPAR-JPOS Will J.T. Poston beat John Parry in the 4th round of the U.S. Open? MATCHUP $0 59Β’
KXPGAH2H-USO26R4JPOSJPAR-JPAR Will John Parry beat J.T. Poston in the 4th round of the U.S. Open? MATCHUP $0 42Β’
KXPGAH2H-USO26R4ZBLAARAI-ARAI Will Aaron Rai beat Zac Blair in the 4th round of the U.S. Open? MATCHUP $0 66Β’
KXPGAH2H-USO26R4PCOODJOH-DJOH Will Dustin Johnson beat Pierceson Coody in the 4th round of the U.S. Open? MATCHUP $0 57Β’
KXPGAH2H-USO26R4THATBGRI-BGRI Will Ben Griffin beat Tyrrell Hatton in the 4th round of the U.S. Open? MATCHUP $0 55Β’
KXPGAH2H-USO26R4JROSMMCG-MMCG Will Max McGreevy beat Justin Rose in the 4th round of the U.S. Open? MATCHUP $0 45Β’
KXPGAH2H-USO26R4JROSMMCG-JROS Will Justin Rose beat Max McGreevy in the 4th round of the U.S. Open? MATCHUP $0 61Β’
KXPGAH2H-USO26R4NNORWMOU-WMOU Will William Mouw beat Niklas Norgaard Moller in the 4th round of the U.S. Open? MATCHUP $0 63Β’
KXPGAH2H-USO26R4BCAUBKOH-BKOH Will Ben Kohles beat Bud Cauley in the 4th round of the U.S. Open? MATCHUP $0 41Β’
KXPGAH2H-USO26R4BCAUBKOH-BCAU Will Bud Cauley beat Ben Kohles in the 4th round of the U.S. Open? MATCHUP $0 60Β’
KXPGAH2H-USO26R4MBREJSPI-MBRE Will Michael Brennan beat Jordan Spieth in the 4th round of the U.S. Open? MATCHUP $0 44Β’
KXPGAH2H-USO26R4MRUSJKOI-JKOI Will Jackson Koivun beat Miles Russell in the 4th round of the U.S. Open? MATCHUP $0 65Β’
KXPGAH2H-USO26R4JKEELABE-LABE Will Ludvig Aberg beat John Keefer in the 4th round of the U.S. Open? MATCHUP $0 67Β’
KXPGAH2H-USO26R4KKITMGRE-KKIT Will Kurt Kitayama beat Max Greyserman in the 4th round of the U.S. Open? MATCHUP $0 58Β’
KXPGAH2H-USO26R4STIBJVAN-JVAN Will Jackson Van Paris beat Spencer Tibbits in the 4th round of the U.S. Open? MATCHUP $0 69Β’
KXPGAH2H-USO26R4BJAMCSUR-CSUR Will Caleb Surratt beat Benjamin James in the 4th round of the U.S. Open? MATCHUP $0 45Β’
KXPGAH2H-USO26R4BJAMCSUR-BJAM Will Benjamin James beat Caleb Surratt in the 4th round of the U.S. Open? MATCHUP $0 60Β’
KXPGAH2H-USO26R4NSHIHMAT-NSHI Will Neal Shipley beat Hideki Matsuyama in the 4th round of the U.S. Open? MATCHUP $0 40Β’
KXPGAH2H-USO26R4NSHIHMAT-HMAT Will Hideki Matsuyama beat Neal Shipley in the 4th round of the U.S. Open? MATCHUP $0 64Β’
KXPGAH2H-USO26R4ELEEPROD-PROD Will Patrick Rodgers beat Eric Lee in the 4th round of the U.S. Open? MATCHUP $0 63Β’
Activity Log
6/17 10:01 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 4.5%  Β·  Kalshi: 92.0%  Β·  Edge: 4.5pts  Β·  $14.72
Cameron Smith - Top 10
DataGolf model gives Cameron Smith - Top 10 a 4.5% probability (winning the matchup). Kalshi is pricing the NO side at 92Β’ (92% implied probability). This represents a 4.5-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.433, Half-Kelly: 0.216. Dollar amount before cap: $15.15, After cap: $14.72. Placing limit order at 92Β’ (1Β’ below market β€” maker not taker). Contracts: 16.
6/17 10:01 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 29.3%  Β·  Kalshi: 66.0%  Β·  Edge: 5.7pts  Β·  $4.62
Jon Rahm - Top 10
DataGolf model gives Jon Rahm - Top 10 a 29.3% probability (winning the matchup). Kalshi is pricing the NO side at 66Β’ (66% implied probability). This represents a 5.7-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.137, Half-Kelly: 0.069. Dollar amount before cap: $4.80, After cap: $4.62. Placing limit order at 66Β’ (1Β’ below market β€” maker not taker). Contracts: 7.
6/17 10:01 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 11.6%  Β·  Kalshi: 86.0%  Β·  Edge: 4.4pts  Β·  $6.02
Justin Rose - Top 10
DataGolf model gives Justin Rose - Top 10 a 11.6% probability (winning the matchup). Kalshi is pricing the NO side at 86Β’ (86% implied probability). This represents a 4.4-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.172, Half-Kelly: 0.086. Dollar amount before cap: $6.03, After cap: $6.02. Placing limit order at 86Β’ (1Β’ below market β€” maker not taker). Contracts: 7.
6/17 10:01 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 14.0%  Β·  Kalshi: 82.0%  Β·  Edge: 5.0pts  Β·  $7.38
Patrick Reed - Top 10
DataGolf model gives Patrick Reed - Top 10 a 14.0% probability (winning the matchup). Kalshi is pricing the NO side at 82Β’ (82% implied probability). This represents a 5.0-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.223, Half-Kelly: 0.112. Dollar amount before cap: $7.80, After cap: $7.38. Placing limit order at 82Β’ (1Β’ below market β€” maker not taker). Contracts: 9.
6/17 10:01 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 32.7%  Β·  Kalshi: 63.0%  Β·  Edge: 5.3pts  Β·  $3.78
Rory McIlroy - Top 10
DataGolf model gives Rory McIlroy - Top 10 a 32.7% probability (winning the matchup). Kalshi is pricing the NO side at 63Β’ (63% implied probability). This represents a 5.3-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.116, Half-Kelly: 0.058. Dollar amount before cap: $4.05, After cap: $3.78. Placing limit order at 63Β’ (1Β’ below market β€” maker not taker). Contracts: 6.
6/17 10:00 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 18.9%  Β·  Kalshi: 78.0%  Β·  Edge: 4.1pts  Β·  $4.68
Sam Burns - Top 10
DataGolf model gives Sam Burns - Top 10 a 18.9% probability (winning the matchup). Kalshi is pricing the NO side at 78Β’ (78% implied probability). This represents a 4.1-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.141, Half-Kelly: 0.071. Dollar amount before cap: $4.95, After cap: $4.68. Placing limit order at 78Β’ (1Β’ below market β€” maker not taker). Contracts: 6.
6/17 10:00 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 49.3%  Β·  Kalshi: 45.0%  Β·  Edge: 6.7pts  Β·  $3.60
Scottie Scheffler - Top 10
DataGolf model gives Scottie Scheffler - Top 10 a 49.3% probability (winning the matchup). Kalshi is pricing the NO side at 45Β’ (45% implied probability). This represents a 6.7-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.104, Half-Kelly: 0.052. Dollar amount before cap: $3.65, After cap: $3.60. Placing limit order at 45Β’ (1Β’ below market β€” maker not taker). Contracts: 8.
6/17 10:00 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 28.5%  Β·  Kalshi: 67.0%  Β·  Edge: 5.5pts  Β·  $4.69
Tommy Fleetwood - Top 10
DataGolf model gives Tommy Fleetwood - Top 10 a 28.5% probability (winning the matchup). Kalshi is pricing the NO side at 67Β’ (67% implied probability). This represents a 5.5-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.137, Half-Kelly: 0.069. Dollar amount before cap: $4.80, After cap: $4.69. Placing limit order at 67Β’ (1Β’ below market β€” maker not taker). Contracts: 7.
6/17 10:00 PM PT  Β·  NEW TRADE  Β·  TOP10  Β·  DG: 13.9%  Β·  Kalshi: 83.0%  Β·  Edge: 4.1pts  Β·  $5.81
Tyrrell Hatton - Top 10
DataGolf model gives Tyrrell Hatton - Top 10 a 13.9% probability (winning the matchup). Kalshi is pricing the NO side at 83Β’ (83% implied probability). This represents a 4.1-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.181, Half-Kelly: 0.090. Dollar amount before cap: $6.34, After cap: $5.81. Placing limit order at 83Β’ (1Β’ below market β€” maker not taker). Contracts: 7.
6/17 10:00 PM PT  Β·  NEW TRADE  Β·  TOP5  Β·  DG: 17.5%  Β·  Kalshi: 79.0%  Β·  Edge: 4.5pts  Β·  $5.53
Jon Rahm - Top 5
DataGolf model gives Jon Rahm - Top 5 a 17.5% probability (winning the matchup). Kalshi is pricing the NO side at 79Β’ (79% implied probability). This represents a 4.5-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.165, Half-Kelly: 0.083. Dollar amount before cap: $5.77, After cap: $5.53. Placing limit order at 79Β’ (1Β’ below market β€” maker not taker). Contracts: 7.
6/17 9:59 PM PT  Β·  NEW TRADE  Β·  TOP5  Β·  DG: 20.2%  Β·  Kalshi: 76.0%  Β·  Edge: 4.8pts  Β·  $5.32
Rory McIlroy - Top 5
DataGolf model gives Rory McIlroy - Top 5 a 20.2% probability (winning the matchup). Kalshi is pricing the NO side at 76Β’ (76% implied probability). This represents a 4.8-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.158, Half-Kelly: 0.079. Dollar amount before cap: $5.52, After cap: $5.32. Placing limit order at 76Β’ (1Β’ below market β€” maker not taker). Contracts: 7.
6/17 9:59 PM PT  Β·  NEW TRADE  Β·  TOP5  Β·  DG: 34.4%  Β·  Kalshi: 61.0%  Β·  Edge: 5.6pts  Β·  $3.66
Scottie Scheffler - Top 5
DataGolf model gives Scottie Scheffler - Top 5 a 34.4% probability (winning the matchup). Kalshi is pricing the NO side at 61Β’ (61% implied probability). This represents a 5.6-point edge in favor of NO. Edge exceeds the 8-point minimum threshold. Recommended: BUY NO. Kelly fraction: 0.118, Half-Kelly: 0.059. Dollar amount before cap: $4.13, After cap: $3.66. Placing limit order at 61Β’ (1Β’ below market β€” maker not taker). Contracts: 6.
6/11 2:02 PM PT  Β·  HOLD POSITION  Β·  TOP20  Β·  DG: 0.0%  Β·  Kalshi: 53.0%  Β·  Edge: 53.0pts
Jackson Suber - Top 20
Holding Jackson Suber - Top 20. Current edge: 53.0pts. P&L: -36.9%. Would enter today: True.
6/11 2:02 PM PT  Β·  HOLD POSITION  Β·  TOP20  Β·  DG: 0.0%  Β·  Kalshi: 29.0%  Β·  Edge: 29.0pts
Aaron Rai - Top 20
Holding Aaron Rai - Top 20. Current edge: 29.0pts. P&L: -55.4%. Would enter today: True.
6/11 2:02 PM PT  Β·  HOLD POSITION  Β·  TOP10  Β·  DG: 0.1%  Β·  Kalshi: 37.0%  Β·  Edge: 37.0pts
Tommy Fleetwood - Top 10
Holding Tommy Fleetwood - Top 10. Current edge: 37.0pts. P&L: -41.3%. Would enter today: True.
6/11 2:02 PM PT  Β·  HOLD POSITION  Β·  TOP10  Β·  DG: 0.0%  Β·  Kalshi: 32.0%  Β·  Edge: 32.0pts
Tony Finau - Top 10
Holding Tony Finau - Top 10. Current edge: 32.0pts. P&L: -63.2%. Would enter today: True.
6/11 2:02 PM PT  Β·  HOLD POSITION  Β·  TOP20  Β·  DG: 0.0%  Β·  Kalshi: 16.0%  Β·  Edge: 16.0pts
Zach Bauchou - Top 20
Holding Zach Bauchou - Top 20. Current edge: 16.0pts. P&L: -81.2%. Would enter today: True.
6/11 2:02 PM PT  Β·  HOLD POSITION  Β·  TOP20  Β·  DG: 0.0%  Β·  Kalshi: 22.0%  Β·  Edge: 22.0pts
Sudarshan Yellamaraju - Top 20
Holding Sudarshan Yellamaraju - Top 20. Current edge: 22.0pts. P&L: -72.5%. Would enter today: True.
Product Design Choice Log
Β·
Β·
Β·
Β·
Β·
Β·
Β·
Β·
Β·
Β·
Β·
Changelog
v0.4.4  Β·   Β· 
Order fill verification Ò€” live mode now confirms fills before recording positions
v0.4.5  Β·   Β· 
Scheduler missing Round 4 Ò€” added Sunday 8 PM ET run
v0.4.3  Β·   Β· 
Renamed 'Decision Log' Ò†’ 'Product Design Choice Log'
v0.4.0  Β·   Β· 
UI readability pass Ò€” neutral gray cards, soft white body text
v0.4.2  Β·   Β· 
Last Scan Summary component
v0.4.1  Β·   Β· 
About MATES welcome banner
v0.3.2  Β·   Β· 
DataGolf matchup endpoint returns string mid-tournament, causing character-iteration crash
v0.3.1  Β·   Β· 
Dynamic market discovery Ò€” no longer limited to known series tickers
v0.3.0  Β·   Β· 
Full dashboard visual redesign with side navigation
v0.2.3  Β·   Β· 
Changelog and Decision Log added to dashboard
v0.2.2  Β·   Β· 
Portfolio re-evaluation crash Ò€” missing function
v0.2.1  Β·   Β· 
Renamed APMTS Ò†’ MATES
v0.2.0  Β·   Β· 
Expanded to H2H matchup markets (KXPGAH2H series)
v0.1.5  Β·   Β· 
DataGolf matchup endpoint returning 400 Ò€” missing parameter
v0.1.4  Β·   Β· 
Market prices were being fetched from orderbook (returned empty)
v0.1.3  Β·   Β· 
Kelly Criterion was receiving wrong probability for NO bets
v0.1.2  Β·   Β· 
Critical: Edge calculation was massively wrong for NO bets
v0.1.1  Β·   Β· 
DataGolf returned 0 players Ò€” wrong response key
v0.1.0  Β·   Β· 
Initial build Ò€” full pipeline from scratch
Feature Backlog
open  Β·  high priority  Β·  added 7/2 9:24 PM PT
Events: historical spike scanner
Stage 1 step 1 β€” z-score + volume spike detector over events_desk/data/archive/ candles. Output: dataset of past spikes.
open  Β·  high priority  Β·  added 6/21 12:21 PM PT
Historical backtest harness
Backtest the DG-vs-Kalshi edge across past tournaments instead of waiting ~20 live events for P&L to converge. Feasibility CONFIRMED 2026-06-21: Kalshi candlestick endpoint (/series/{s}/markets/{ticker}/candlesticks) returns historical yes_ask/yes_bid/OHLC for SETTLED markets, so pre-tournament prices are reconstructable from the first candle. DataGolf sells historical pre-tournament predictions via their data product. Outcomes we already have (settlements). Two phases: (1) CHEAP/now β€” test DataGolf calibration alone (DG historical probs + actual outcomes, no Kalshi needed): when DG says 70%, does it happen ~70%? Validates our signal. (2) FULL β€” DG probs + Kalshi candlestick prices + outcomes: run edge-detection + Kelly sizing on each past event, compute hypothetical ROI / calibration / vs-expected. CRITICAL caveat: fillability β€” backtest on the ASK (or model maker fills from bid/ask spread) so we do not overstate returns; our 1c-below-ask maker orders would not always fill. Also handle ticker enumeration for past events and selection bias. Pairs with the live edge-observation module (forward-looking ground truth with real fills).
open  Β·  high priority  Β·  added 6/20 5:23 PM PT
Edge observation / data collection module
A scan-only mode + new table (edge_observations) that records EVERY edge the scanner detects on each run β€” including off-cycle, outside trading windows, and mid-round β€” even when we place no wagers. Per observation capture: timestamp, event, run_type (pre/live), DataGolf model freshness (source, last_update, age_hours), player, market_type, side, DG prob, Kalshi YES prob, our-side price, edge_pts, would-be contracts/size, tradeable flag, and whether it was actually traded (+ skip reason). Purpose: build a research dataset to (1) study how edges evolve across a tournament, (2) backtest whether detected-but-untraded edges would have been BOTH profitable and fillable, (3) calibrate DG-vs-Kalshi (does a detected edge actually predict the outcome?), and (4) make data-driven trading-window / false-edge decisions. Motivation: a 2026-06-20 off-cycle Round-3 dry run found 89 edges (vs 37 pre-tournament), with sizes ballooning to +40 to +66pt β€” almost certainly a mix of stale/illiquid live Kalshi prices and unfillable thin markets, i.e. classic in-round false edges. We are currently throwing that signal away. Runs as a scheduled scan-only job (e.g. hourly during tournaments), independent of trading. Pairs with the decouple-cleanup-from-trading item.
open  Β·  high priority  Β·  added 6/19 10:55 PM PT
Tournament Performance scoreboard (cross-event track record)
New component above Settled Positions: one row per tournament with bets, W-L, staked, net P&L, ROI, avg edge at entry, expected P&L (sum of EV at entry), and Actual minus Expected (the luck-vs-skill / model-calibration signal, our analog of closing-line value). Plus an all-time total row. Hero visual: cumulative P&L equity curve (Chart.js, from portfolio_history) β€” overlaps with the existing Portfolio-value-chart backlog item; build them together. Secondary visual: per-tournament net P&L bars. Foundation now exists: settled_positions are event-tagged via ticker. Caveat: only ~3 tournaments (early ones buggy) so it is for building the measurement habit, not yet for conclusions.
open  Β·  high priority  Β·  added 6/18 9:02 AM PT
Portfolio value over time chart
Line chart (Chart.js) of total account value over time, reading the portfolio_history snapshots already written each sync. X-axis time, Y-axis dollars. Foundation for the deposits-vs-gains view below.
open  Β·  high priority  Β·  added 6/17 8:46 PM PT
Decouple cleanup from trading (separate run modes)
Today a bot run does everything in one shot: settle/cleanup positions AND place wagers. When we pause the scheduler to stop trading, we also stop cleanup β€” which is why the RBC Canadian Open positions sat "open" for a week after they settled on Kalshi. Split the run into independent operations: (1) a CLEANUP/SYNC mode that reconciles settled positions, backfills missing ones, and records portfolio snapshots β€” safe to run on any cadence (hourly/daily) regardless of trading state; and (2) a TRADING mode for the unsafe operation of placing wagers, gated by the trading window + DataGolf freshness checks. Likely two Cloud Run Jobs on two Cloud Scheduler triggers: cleanup always-on, trading gated.
open  Β·  medium priority  Β·  added 7/2 9:24 PM PT
Events Track B: generalist LLM logic-check scanner
Design + build LLM sweep of all open event markets for resolution misreads / weak-case mispricings (Powell + Musk-v-OpenAI pattern). Forward-only validation via paper-tracking.
open  Β·  medium priority  Β·  added 7/2 9:24 PM PT
Events: edge report + go/no-go gate
Stage 1 step 3 β€” % of spikes that revert by sub-category, fills at post-spike ask. Decides Stage 2.
open  Β·  medium priority  Β·  added 7/2 9:24 PM PT
Events: GDELT news matching + spike labeling
Stage 1 step 2 β€” pull GDELT news around each spike, classify false/none/real, label reversion + resolution.
open  Β·  medium priority  Β·  added 6/18 10:24 AM PT
Revisit Kelly fraction (half -> quarter) + make it a config knob
Currently half-Kelly. Quarter-Kelly roughly halves portfolio volatility for a modest EV reduction β€” the single cleanest variance cut, and it directly delivers the lower-but-steadier return profile Michael wants. Given the book is correlated and negatively skewed, half-Kelly may be too aggressive. Action: expose kelly_fraction as an env-config knob (kelly_sizer.kelly_size already accepts a kelly_fraction param), then tune empirically once variance data exists. Decision deferred until performance tracking is built.
open  Β·  medium priority  Β·  added 6/18 10:24 AM PT
Variance reduction & hedging strategy (revisit in depth)
Umbrella item from the 2026-06-18 hedging discussion. Core insight: for a compounding bankroll, lower variance at the same average return compounds to MORE money (volatility drag ~= variance/2) β€” a steady 2.5%/wk can beat a volatile 5%/wk. The MATES NO-favorite book is correlated (chalk-week risk: favorites all play well and many NO bets lose together) and negatively skewed (many small wins, rare large losses), so variance management has real value. Levers identified: fractional Kelly, time + cross-sectional diversification, correlation/exposure caps, nested-market spreads, small scenario hedges, and edging toward market-making. GATED ON PERFORMANCE HISTORY β€” only 2 (buggy) tournaments so far; revisit with Michael once real per-week P&L tracking exists.
open  Β·  medium priority  Β·  added 6/18 9:02 AM PT
Size positions off actual Kalshi cash balance
Today the bot sizes against the TOTAL_BUDGET config number, not the real Kalshi account balance. After wins/losses these drift apart. Read live balance from kalshi_client.get_balance() and size against actual available cash.
open  Β·  low priority  Β·  added 6/18 10:24 AM PT
Hedging via nested finish-market spreads (e.g. 11-20 band)
Kalshi golf markets nest: win < top5 < top10 < top20 < make-cut. Combining legs builds defined-risk, lower-variance positions. Example: YES top-20 + NO top-10 on one player pays $2 if he finishes 11-20 and $1 otherwise β€” a bounded bet with a floor, good for expressing a precise band view with capped variance. Why it is NOT a silver bullet: each leg pays spread+fees and needs its own fill (execution risk is already our binding constraint); it caps upside as much as downside (sacrifices the fat right tail that drives our +EV); it ties up more capital per unit of edge under the 70 percent deploy cap; it is only +EV if both legs are genuinely mispriced; and it does NOT address portfolio-level chalk-week correlation. More viable as bankroll grows ($1k+) when fees-as-percent shrink and the 5-contract granularity binds less. Prototype only after performance tracking is in place.
open  Β·  low priority  Β·  added 6/18 9:02 AM PT
Multi-sport expansion (NFL and beyond)
Architecture already supports other sports via TOURNAMENT_KEYWORDS / KALSHI_SERIES. Generalize naming and market-type mapping beyond PGA to add NFL or other Kalshi markets.
open  Β·  low priority  Β·  added 6/18 9:02 AM PT
Deposits vs gains in portfolio chart
Extend the portfolio chart to distinguish cash deposited into Kalshi from gains earned on wagers, using the cumulative_deposits column already in portfolio_history.
open  Β·  low priority  Β·  added 6/18 9:02 AM PT
Settled positions live AJAX refresh
The settled-positions table only updates on full page load, not the 60s AJAX loop. Wire it into /api/dashboard like open positions. Cosmetic β€” settled data changes only when a tournament resolves.
open  Β·  low priority  Β·  added 6/18 9:02 AM PT
NO-price ceiling option
Optional, event-scoped cap to skip NO bets above a price threshold (e.g. 90 cents) where capital-at-risk dwarfs max payout. Same auto-expiring pattern as market-type exclusions. Decision pending: these high-certainty bets may be exactly the favorite-longshot edge we want.
done  Β·  high priority  Β·  added 7/2 9:25 PM PT
Portfolio: hourly account-value recorder + backfill research
Scheduled job snapshotting Kalshi balance + position market value into portfolio_history. Research: can old account value be reconstructed from fills/settlements (retention appears longer for account data β€” settlements go back to March)?
done  Β·  high priority  Β·  added 7/2 9:25 PM PT
Portfolio: account-level summary page (new home)
Best-in-class portfolio view of ENTIRE Kalshi account (not just $100 MATES budget): total value over time w/ 1D/1W/1M/3M/YTD/MAX ranges, day change, holdings. MATES becomes platform brand; Golf Desk + Events Desk become sub-pages.
done  Β·  high priority  Β·  added 7/2 9:25 PM PT
Research brief: news over/underreaction in markets
Readable summary w/ sources: documented over/underreaction to news in prediction markets + analogous finance literature (overreaction, post-earnings drift, favorite-longshot bias, in-play betting).
done  Β·  high priority  Β·  added 7/2 9:24 PM PT
Schedule events-desk archiver (recurring)
events_desk/archiver.py must run weekly minimum (Kalshi purges settled markets ~2-3mo). Recommended: GCP Cloud Run job + Cloud Scheduler like mates-bot. First manual harvest ran 07/02/26.
done  Β·  high priority  Β·  added 6/18 9:02 AM PT
Settled-position tracking and Kalshi sync
Standalone kalshi_sync.py reconciles DB positions against live Kalshi: settles resolved markets (payout/P&L/outcome to settled_positions), backfills positions present on Kalshi but missing from the DB, and records portfolio snapshots.
done  Β·  medium priority  Β·  added 7/2 9:25 PM PT
UI: full aesthetic redesign β€” Anthropic/Fable palette
Replace dark terminal theme across all pages: warm parchment background, ink text, muted earth accents (terracotta/clay), serif display headings, editorial spacing. Reference: Fable 5 release art.
done  Β·  medium priority  Β·  added 7/2 9:25 PM PT
Golf desk: purge concluded-tournament UI clutter
Remove U.S. Open (Shinnecock) / stale tournament info from golf page; clean up stale settled positions display. No active tournament right now.
done  Β·  medium priority  Β·  added 6/18 9:02 AM PT
DataGolf live in-round data + freshness gate
Scanner prefers DataGolf in-play predictions mid-tournament; trading is gated on model freshness (under 4h old, event-name match, >=50 players) so we never trade a stale or wrong-event model.
done  Β·  medium priority  Β·  added 6/18 9:02 AM PT
Upon-entry vs current economics clusters
Split position economics into AT ENTRY (frozen when the bot traded) and CURRENT (live DataGolf + live Kalshi price) column groups, so you can see how each position has moved since entry.
done  Β·  medium priority  Β·  added 6/18 9:02 AM PT
DG%, Kalshi%, and Edge columns in Open Positions
Show DataGolf probability, Kalshi implied probability, and the edge (the gap that triggered entry) directly in the open positions table.
done  Β·  medium priority  Β·  added 6/18 9:02 AM PT
Player-grouped exposure view
Toggle in Open Positions to switch from one-row-per-wager to one-row-per-player: total cost, position count, markets, EV at entry and EV current per golfer. Surfaces concentration the wager view hides (e.g. total Scheffler exposure across his Top-5/Top-10 markets).
done  Β·  low priority  Β·  added 6/18 9:02 AM PT
Event-scoped market-type exclusions
Config-driven, auto-expiring exclusions (e.g. cut@U.S. Open) so a market type can be excluded for one event without silently persisting into future tournaments. Surfaced on the dashboard.
Technical Design
Previous State β€” Laptop MVP

MATES began as a headless Python application running on a personal laptop β€” kicked off manually or via local cron. Each run fetched live data from two external APIs, identified mispricings with a statistical edge model, sized positions with the Kelly Criterion, and placed limit orders on Kalshi. A separate Flask web server read the JSON files those runs produced and rendered them. There was no database β€” all state lived in flat JSON files on disk β€” and the dashboard was only reachable on the local network while the laptop was powered on. This is the architecture we have since migrated away from; it is shown here for reference.

Architecture Diagram  Β·  Laptop MVP (historical)
EXTERNAL APIs DataGolf API Win / cut / top-N probs REST Β· API key in header Kalshi Exchange API Markets Β· orders Β· fills REST Β· RSA-PSS signed PYTHON CORE datagolf_client.py Fetches player probabilities pre-tournament + live kalshi_client.py Discovers + fetches markets Places / cancels orders opportunity_finder.py Fuzzy-matches player names Flags edges above 4pt threshold Saves summary β†’ last_scan.json kelly_sizer.py Half-Kelly bet sizing Hard cap $25 Β· min 5 contracts trade_executor.py Places limit orders Β· polls fills Handles partial fills + cancels portfolio_manager.py Tracks open positions β†’ positions.json reasoning_logger.py Logs every decision β†’ reasoning_log.json data/ JSON files positions Β· last_scan Β· reasoning decision Β· changelog WEB DASHBOARD web_ui/app.py (Flask) Reads JSON files β†’ renders index.html

Background Context

Prediction markets are priced by the betting public, and the public systematically overweights name recognition. High-profile players trade at prices implying higher probabilities than models support β€” creating persistent NO-side value on the biggest names. Meanwhile, strong statistical performers with lower public profiles are routinely underpriced. MATES captures both sides of that bias automatically. The structural edge exists because DataGolf's strokes-gained model is built from years of shot-level tour data and is systematically more calibrated than aggregate crowd opinion β€” especially in a relatively illiquid market like Kalshi's golf section. Position sizes use half-Kelly: mathematically optimal for long-run bankroll growth while cutting variance roughly in half compared to full Kelly. The $25 per-trade cap prevents any single bet from dominating the portfolio regardless of what Kelly recommends.

Dependencies

PackageLanguagePurpose
Flask + Jinja2PythonWeb server and HTML template rendering for this dashboard
requestsPythonHTTP client for DataGolf and Kalshi API calls
cryptographyPythonRSA-PSS signing for Kalshi authentication (required by their API)
python-dotenvPythonLoads config from .env file (API keys, budget, tournament settings)
rapidfuzzPythonFuzzy string matching to align player names between DataGolf and Kalshi
Vanilla JSJavaScriptLive clock, sidebar nav highlighting, smooth page reload, collapsible tables
Plain HTML/CSSHTMLNo component library β€” all styling is hand-written in this file

Data files (all in data/)

FileFormatContents
positions.jsonJSONAll currently open positions β€” the source of truth for the portfolio
last_scan.jsonJSONResults of the most recent bot run: edges found, top opportunities, market counts
reasoning_log.jsonJSONEvery trade/skip decision with full probability data and reasoning text
decision_log.jsonJSONHuman-authored product design choices (shown in the Design Choices section)
changelog.jsonJSONVersioned record of code and feature changes
Current State β€” Google Cloud Platform

MATES now runs entirely on Google Cloud Platform (project mates-trading). The bot is fully autonomous β€” a Cloud Scheduler trigger fires a Cloud Run Job on a cron interval, with no machine to keep on β€” and the dashboard is a live Cloud Run service reachable from any device, scaling to zero when idle. All state lives in Cloud SQL (PostgreSQL 15); API keys and DB credentials are injected from Secret Manager; container images for both the bot and dashboard are stored in Artifact Registry. Trading is gated to a defined evening window plus a DataGolf model-freshness check, and settled positions are reconciled automatically on every run.

GCP Architecture  Β·  Current State (live)
Browser / Phone User accesses dashboard HTTPS Β· any device Cloud Run Flask Dashboard HTTPS auto Β· global Β· scales to zero *.us-central1.run.app Cloud Scheduler Triggers bot on cron e.g. every 30 min Cloud Run Jobs Trading Bot Runs + exits on schedule No persistent VM needed DataGolf API Win / cut / top-N probs External Β· REST Kalshi Exchange API Markets + orders External Β· REST Cloud SQL PostgreSQL Replaces data/ JSON files Secret Manager API keys Β· DB creds Replaces .env file Artifact Registry Docker images dashboard + bot containers data / trigger config / image

GCP Components

ServiceReplacesRole
Cloud Run Flask on localhost:5000 Hosts the dashboard container, always-on, HTTPS automatic, globally accessible
Cloud Run Jobs Manual python main.py Runs the trading bot on a schedule without a persistent VM
Cloud Scheduler Laptop cron / manual runs Triggers Cloud Run Jobs on configurable intervals (e.g. every 30 min during tournaments)
Cloud SQL (PostgreSQL) data/ JSON files Persistent relational database for positions, trades, scan history
Secret Manager .env file Stores Kalshi private key, DataGolf API key, DB credentials securely
Artifact Registry Local Python environment Stores versioned Docker images for both the dashboard and bot containers