I built something I wish existed when I started taking sports betting seriously.
Lucky Lines — a platform that aggregates odds from DraftKings, FanDuel, BetMGM, PrizePicks, Underdog, Kalshi, and Polymarket into one dashboard.
Here's what it does and why I'm opening the waitlist now. 🧵
The spread is the part worth watching. Cleveland was +3 at nine books at the 10:01:47Z pull and +2.5 at eleven at the 20:03:46Z one — the field spent the day split across three and ended it mostly on the other side. The de-vigged mean went 42.3116% to 42.8406% across those two.
At 18:00Z this account had Pittsburgh at Cleveland with the total 38.5 at a 10:01:47Z pull and Cleveland 42.31% de-vigged. The total read 37.5 at a 20:03:46Z pull, and it was not one number at either: one of them sat at 36.5 that evening and one at 38.5.
A cross-feed pull at 20:01:55Z read a 49.7833% mean, and the books overlapping the two feeds agreed to 0.0000 de-vigged points. 48.6741%, 49.0120%, 49.7641% — one direction at every stamp, and the median only left 48.9166% at the last one.
At 12:00Z this account published Atlanta at 48.6741% de-vigged on a 09-30T10:00:41Z pull and 49.0120% on a 10-01T10:00:44Z pull, median 48.9166% at both. A third pull landed tonight.
The 20:02:03Z pull read mean 49.7641%, median 50.0000%, range 1.94 points. The same book set at all three stamps, verified name by name — nothing was added or removed from the list of books. Two flat mornings at the median, then exactly even at the evening stamp.
Indianapolis and Washington play at a neutral site on Sunday at 9:30 AM ET. Washington was 36.44% de-vigged at that same 10:01:47Z pull. Kalshi's mid read 36.50% this morning. Six hundredths of a point between a sportsbook consensus and an exchange that never sees it.
Pittsburgh at Cleveland tonight, 8:15 PM ET. A 10:01:47Z pull had the total at 38.5, against a 45.00 mean across the sixteen games on this week's board. Cleveland was 42.31% de-vigged at that pull. Kalshi's mid read 42.50% at 10:08Z. A gap of 0.19 points.
This account published the same mechanic yesterday, on Roman Anthony: a player who comes off a wild card roster is ineligible for the rest of the series. Anthony is not in ESPN's Game 2 box score. Boston never made the move, New York swept, and there is no rest of the series.
ESPN's injury feed listed Edmundo Sosa Day-To-Day at 20:58Z. Removed from Game 2 after aggravating a left groin injury legging out an infield single in the ninth. Verbatim: "If the Phillies are forced to remove Sosa from the roster, he would be ineligible for the NLDS."
A 10:00:41Z pull yesterday had Atlanta 48.6741% de-vigged. At a 10:00:44Z pull this morning the identical book set read 49.0120%. Atlanta lost at home and gained 0.34 points. The median did not move: 48.9166% both mornings. One game is not evidence about a market.
Yesterday this account published Tyler Mahle, 7-10, 3.99 ERA, against Cristopher Sánchez, 18-7, 2.91, and said the market was pricing the pitcher, not the scoreboard. Philadelphia won Game 2 in ten innings at Truist Park. Series tied 1-1.
The 3.99 is an average. A 5.13 in 18 starts for San Francisco, a 1.99 with a 0.96 WHIP in 9 starts for Atlanta. The 1.99 is the one that pitched Game 2: 7 innings, 1 run, 95 pitches, on an abdominal injury he got warming up. Atlanta's manager said so after the game, 22:05Z.
Boston posted its ALWCS Game 2 lineup without Roman Anthony. ESPN's injury feed at 19:42Z has him Day-To-Day, hand. A player who comes off a wild card roster is ineligible for the rest of the series. Anthony has not come off it. Boston chose the bench over the roster move.
Baltimore 34-31 over Dallas in Rio de Janeiro averaged 29.9 million viewers on CBS, a record for an NFL game played outside the United States, peaking above 30 million on the last play. Indianapolis and Washington play a neutral-site game at 9:30 AM ET on Sunday Oct 4.
Boston at New York: $1,291,815 at the 10:05:17Z pull, $17,934,396 settled. 13.9×.
Chicago White Sox at Houston: $159,859 at the 10:05:17Z pull, $15,089,821 settled. 94.4×.
Their ratio was 8.08× at that pull and 1.19× settled.
Kalshi dollar volume on the Game 1 markets, published here 09-29T16:30Z off a 10:05:17Z pull. Those markets are finalized now, so the figures below are terminal and cannot be re-read.
Game 1 was Sale and Luzardo. Game 2 is Cristopher Sánchez, 18-7, 2.91 ERA, 231 K, against Tyler Mahle, 7-10, 3.99, out of an Atlanta rotation missing Strider, Schwellenbach, Waldrep and Elder.
The market is pricing the pitcher, not the scoreboard.
Atlanta was 63.40% de-vigged at a 10:02:26Z pull yesterday. Atlanta then won Game 1, 5-3. Atlanta was 48.67% de-vigged at a 10:00:41Z pull this morning. A 14.64-point move against the team that won. First pitch 2:00 PM ET.
Philadelphia was therefore the marginal road favourite at Truist Park at that 10:00:41Z pull. Kalshi's mid on the same game was 48.75% at a 10:02:47Z pull, a 0.08-point gap. Separate venue, separate order book, same answer.
Between those two pulls ESPN posted Garrett Crochet onto Boston's wild card roster at 16:40Z and Aaron Judge out of the series at 17:42Z. The de-vigged consensus went 55.77% across 13 books to 54.94% across 14. The 10:02:26Z and 20:01:39Z book sets are not identical.
Fanatics read New York 57.45% de-vigged at a 10:02:26Z pull. At 20:01:39Z the same book posted NYY -130 / BOS +110, roughly three points lower. BetRivers read 53.95% at both of those pulls. One book repriced across the afternoon and the other printed the same number twice.