Data Freshness
Kalshi fetched - (using cached DB)
DataGolf fetched 7/10 4:14 PM PT
Model-Agent Last Run 6/20 9:32 PM PT
Now
GOLF DESKNo active tournament |
$37.56 deployed · $62.44 available · 8 positions · $100.00 budget
Live · updates every 60s
About MATES

MATES (Multi-Agent Trading Execution System) is an autonomous trading 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 our edge threshold, MATES 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
$37.56
Available
$62.44
Open Positions
8
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 LIVE 12 (4 settled) 4–0 100% $69.81 +$6.75 * +9.7% +3.9
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 17–11 $164.35 $-2.79 -1.7%
* 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
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
KXPGATOUR-USO26-XSCH Will Xander Schauffele win the U.S. Open? WINNER $5,644,030
KXPGATOUR-USO26-SBUR Will Sam Burns win the U.S. Open? WINNER $5,451,383
KXPGATOUR-USO26-SSTE Will Sam Stevens win the U.S. Open? WINNER $4,738,382
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
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
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
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
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
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
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
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
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
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
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
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
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
KXPGATOP10-USO26-RFOX U.S. Open: Will Ryan Fox finish top 10? TOP10 $23,603
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
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
KXPGATOP5-USO26-RCOW U.S. Open: Will Ryder Cowan finish top 5? TOP5 $21,147
KXPGATOP5-USO26-JTHO U.S. Open: Will Justin Thomas finish top 5? TOP5 $21,056
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
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
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
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
KXPGATOP10-USO26-BCAU U.S. Open: Will Bud Cauley finish top 10? TOP10 $15,650
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
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
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
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
KXPGATOP5-USO26-GWOO U.S. Open: Will Gary Woodland finish top 5? TOP5 $12,650
KXPGATOP10-USO26-JKOI U.S. Open: Will Jackson Koivun finish top 10? TOP10 $12,442
KXPGATOP5-USO26-JNIE U.S. Open: Will Joaquin Niemann finish top 5? TOP5 $12,417
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
KXPGATOP5-USO26-MBRE U.S. Open: Will Michael Brennan finish top 5? TOP5 $12,022
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
KXPGATOP20-USO26-HHIG U.S. Open: Will Harry Higgs finish top 20? TOP20 $11,502
KXPGATOP20-USO26-HMAT U.S. Open: Will Hideki Matsuyama finish top 20? TOP20 $11,498
KXPGATOP20-USO26-JBRI U.S. Open: Will Jacob Bridgeman finish top 20? TOP20 $11,348
KXPGATOP10-USO26-BKOH U.S. Open: Will Ben Kohles finish top 10? TOP10 $11,238
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
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
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
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
KXPGATOP20-USO26-CSUR U.S. Open: Will Caleb Surratt finish top 20? TOP20 $8,245
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
KXPGATOP20-USO26-JNIC U.S. Open: Will James Nicholas finish top 20? TOP20 $7,852
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
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
KXPGATOP5-USO26-JSPI U.S. Open: Will Jordan Spieth finish top 5? TOP5 $6,681
KXPGATOP10-USO26-JBRI U.S. Open: Will Jacob Bridgeman finish top 10? TOP10 $6,657
KXPGATOP5-USO26-ABHA U.S. Open: Will Akshay Bhatia finish top 5? TOP5 $6,358
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
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
KXPGATOP10-USO26-MMCG U.S. Open: Will Max McGreevy finish top 10? TOP10 $5,761
KXPGATOP10-USO26-HMAT U.S. Open: Will Hideki Matsuyama finish top 10? TOP10 $5,261
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
KXPGATOP5-USO26-MKIM U.S. Open: Will Michael Kim finish top 5? TOP5 $4,873
KXPGATOP10-USO26-PROD U.S. Open: Will Patrick Rodgers finish top 10? TOP10 $4,842
KXPGATOP5-USO26-MMCN U.S. Open: Will Maverick McNealy finish top 5? TOP5 $4,833
KXPGATOP10-USO26-NECH U.S. Open: Will Nicolas Echavarria finish top 10? TOP10 $4,826
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
KXPGATOP10-USO26-BJAM U.S. Open: Will Benjamin James finish top 10? TOP10 $4,716
KXPGATOP20-USO26-MGRE U.S. Open: Will Max Greyserman finish top 20? TOP20 $4,534
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
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
KXPGATOP5-USO26-MRUS U.S. Open: Will Miles Russell finish top 5? TOP5 $4,118
KXPGATOP5-USO26-JBRI U.S. Open: Will Jacob Bridgeman finish top 5? TOP5 $4,080
KXPGATOP10-USO26-APUT U.S. Open: Will Andrew Putnam finish top 10? TOP10 $4,037
KXPGATOP20-USO26-NSHI U.S. Open: Will Neal Shipley finish top 20? TOP20 $3,935
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
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
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
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
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
KXPGATOP10-USO26-PUIH U.S. Open: Will Peter Uihlein finish top 10? TOP10 $2,382
KXPGATOP5-USO26-RHIS U.S. Open: Will Ryo Hisatsune finish top 5? TOP5 $2,347
KXPGATOP5-USO26-PROD U.S. Open: Will Patrick Rodgers finish top 5? TOP5 $2,340
KXPGATOP10-USO26-MGRE U.S. Open: Will Max Greyserman finish top 10? TOP10 $2,265
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
KXPGATOP5-USO26-SIM U.S. Open: Will Sungjae Im finish top 5? TOP5 $1,872
KXPGATOP5-USO26-JNIC U.S. Open: Will James Nicholas finish top 5? TOP5 $1,793
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
KXPGATOP20-USO26-JVAN U.S. Open: Will Jackson Van Paris finish top 20? TOP20 $1,703
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
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
KXPGATOP5-USO26-MGRE U.S. Open: Will Max Greyserman finish top 5? TOP5 $1,072
KXPGATOP5-USO26-JKEE U.S. Open: Will John Keefer finish top 5? TOP5 $987
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
KXPGATOP5-USO26-JPOS U.S. Open: Will J.T. Poston finish top 5? TOP5 $709
KXPGATOP10-USO26-STIB U.S. Open: Will Spencer Tibbits finish top 10? TOP10 $707
KXPGATOP10-USO26-NNOR U.S. Open: Will Niklas Norgaard Moller finish top 10? TOP10 $591
KXPGATOP5-USO26-ZBLA U.S. Open: Will Zac Blair finish top 5? TOP5 $585
KXPGATOP5-USO26-BCAU U.S. Open: Will Bud Cauley finish top 5? TOP5 $558
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
KXPGATOP10-USO26-ADUM U.S. Open: Will Adrien Dumont De Chassart finish top 10? TOP10 $519
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
KXPGATOP10-USO26-DWU U.S. Open: Will Dylan Wu finish top 10? TOP10 $494
KXPGATOP5-USO26-NECH U.S. Open: Will Nicolas Echavarria finish top 5? TOP5 $484
KXPGATOP5-USO26-JPAR U.S. Open: Will John Parry finish top 5? TOP5 $468
KXPGATOP5-USO26-CSUR U.S. Open: Will Caleb Surratt finish top 5? TOP5 $467
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
KXPGATOP20-USO26-MFLE U.S. Open: Will Marek Fleming finish top 20? TOP20 $251
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
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
KXPGATOP10-USO26-NSHI U.S. Open: Will Neal Shipley finish top 10? TOP10 $154
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
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
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
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
KXPGATOP5-USO26-ELEE U.S. Open: Will Eric Lee finish top 5? TOP5 $0
KXPGATOP5-USO26-MFLE U.S. Open: Will Marek Fleming finish top 5? TOP5 $0
KXPGATOP5-USO26-DWU U.S. Open: Will Dylan Wu finish top 5? TOP5 $0
KXPGATOP5-USO26-PUIH U.S. Open: Will Peter Uihlein finish top 5? TOP5 $0
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
KXPGATOP10-USO26-MFLE U.S. Open: Will Marek Fleming finish top 10? TOP10 $0
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