Free · Runs on your machine

Find your edge, with the error bar.

Type any price, or pull live Kalshi and Polymarket markets with the command-line tool. Knows which of 27 books take bets in your state, devigs every price four ways, and every number carries what it might be wrong by. Built to find bets and keep the account that places them.

  • No account, ever
  • 50 states covered
  • 27+ sportsbooks
  • Open checksums
Recorded on this machine 0.1.6

The window as it ships, recorded — not a mockup. Every number on screen is the engine's own answer to what is being typed: the de-vig is a real 0.39% disagreement between four methods, and the quote is aged from 4s to 100s so the fill falls with it. The 5.4s of lag is fitted to 30 recorded observations; a fresh install has none of your own yet and says so, starting from a stated prior and a slightly kinder number until it does.

4Devig methods, side by side
0.39%Spread they disagree by
84%Fill on a 10s quote
0Bytes sent anywhere

Prices 27 sportsbooks across 50 states

Try it — nothing to install, nothing to sign up for

Drag the price older. Watch the edge go.

A 4.0% edge on the screen is not a 4.0% edge in your account. It is that number multiplied by the chance the price is still there when your bet lands — and no competitor's marketing mentions the second half.

3.87% Edge you actually collect
96.7% Chance it is still there
88 Stake on a 10,000 bankroll

Survival is modelled as exponential with a 60-second mean lifetime and a 2-second floor under the age — both stated priors until your own accept-and-reject record replaces them. Every figure above is computed by the engine when this page is built; the slider looks them up rather than recomputing them.

What every other tracker prints

0 5.91%

What Bookbreaker prints

-7.0% 0 +18.9%

Try it on your own price

Type the two sides of any market. You get the consensus fair probability and how far the four methods disagree about it — the number a one-figure no-vig calculator leaves out.

Loading the engine’s answers…

Every answer here was computed by the same engine that built this page, for all 6,737 two-way markets between −600 and +600. Nothing is calculated in your browser: a second implementation drifts from the first, and the drift is invisible until someone bets on it. Prices that do not form a real two-way market are refused rather than rounded into one.

The other three tabs, doing the work

Not screenshots of a design. Screenshots of the answer.

Every figure in these three was computed by the engine while the shot was taken, and each was only captured once the panel's output agreed with the input that produced it.

The arbitrage tab: two prices, the stake split
        across both, and the return locked if both bets stand.
Arbitrage2.10 against 2.05 — 3.54% either way, with the stake on each leg already rounded to something a book will actually accept.
The stake tab: a Kelly fraction and the bet size
        it implies.
StakeFull Kelly says 8.33% of the bankroll. The 25% fraction it recommends says 2.08% — and it names the constraint that bound it rather than printing a number and leaving you to trust it.
The parlay tab: the hold on a four-leg parlay
        against the hold on a single leg.
Parlay4 legs at −110 pay 12.28 to 1 where fair is 15.00 to 1, against 4.55% hold on a single leg — the number the bet slip never shows you.

You do not have to take our word for any of it

Bookbreaker is new and has no customers to quote at you, so this page has no testimonials. What it has instead is a list of claims a stranger can check without trusting us at all — which is the stronger thing to offer about software you are going to place money alongside.

  1. The download matches its published checksum. The build we notarised has SHA-256 ca56d69e1e235b93… and the full digest is on the download page. Run shasum -a 256 Bookbreaker-0.1.6.dmg and compare. If it differs, do not open it.
  2. Apple has notarised it, and your Mac will say so. Run spctl -a -t open --context context:primary-signature -vv against the file. It should say accepted and source=Notarized Developer ID. That is Apple confirming the binary, not us.
  3. No network calls unless you turn on the live board. Your record never leaves your Mac. The app has no updater, no telemetry, no account and no sync — 0 bytes leave your machine, and 0 accounts exist to create. Point Little Snitch or lsof -i -p $(pgrep Bookbreaker) at it and watch nothing happen. The command-line live board, if you run it, requests public Kalshi and Polymarket prices and sends nothing about you. A test in the repo fails the build if the app window ever links a network library.
  4. Every figure on this site was computed by the app you download. Not typed. The build runs the same engine — 40 modules, 46 test files — and refuses to publish a number that engine did not produce. That is why the fill figure here and the one in a fresh install differ, and why the page says which is which.
  5. Every legal claim carries its source and the date we read it. 29 regulator and statute links across the state pages, each with a read date, each checked by the build. A dead citation fails the build rather than sitting there looking official.

What it will never do, including the profitable things

A tool for money is defined as much by its refusals. These are ours, and they are enforced in code rather than promised in a policy page.

Never asks for a sportsbook login.Competitors sync your accounts with your credentials. We import a CSV or read a pasted betslip. Same ledger, and your passwords stay yours.
Never touches identity, KYC, device or location.The account-longevity model reads stake, timing, market and velocity — bet shape, nothing else. It has no access to who you are and never will.
Never places a bet for you.Automated placement needs your logins and has to look human to the book. It is the fastest known route to being limited, which is the opposite of the point.
Never publishes a number it did not measure.Where a figure is a stated prior rather than something observed, the page says so in the same sentence. The build fails if it does not.

Four things it shows you

Same market, four defensible methods

Removing a book's margin to recover what it really believes is a modelling choice, not arithmetic. On a -145 / +125 moneyline the four standard methods disagree by 0.39 points of probability.

A devigger that reports one fair price has picked one of these rows. Bookbreaker shows all four, and how far apart they are.

MethodFair probability
additive57.37%
multiplicative57.11%
power57.50%
shin57.37%

Consensus 57.34%. On a market where a 2% edge is a good day, that spread is a quarter of the edge.

A stake a person would actually place

At +110 and +105 there is a 3.73% arbitrage. A precise stake to the cent is the most-cited fingerprint risk desks use to identify arbitrage.

The 2.35 difference is named and reported, not hidden. A tool that conceals its own trade-offs is not one you can check.

Every calculator

493.98 / 506.02

37.35 locked if both stand

Bookbreaker

490 / 500

35.00 locked if both stand

An edge you cannot take is worth nothing

Quote age is measured from the book's own timestamp, not from when the feed reached us. On a feed running 5.4 seconds behind, a quote that looks 10 seconds old is really 15.4.

A screen that ignores its own latency reports a fill it cannot deliver.

Screen ignoring latency

89%

claimed still available

Measured

84%

actually still available

What your record actually says

On a 220-bet history showing +1,300 profit and 5.91% return, most trackers print the return and stop.

The interval is the answer. A number without one is a claim about a sample, dressed as a claim about you.

+5.91% flat-bet ROI, but the interval spans zero (-7.0% to +18.9%) — indistinguishable from break-even

From a price on screen to a decision

The bet you place late is a different bet

A quote you take 15.4s after it was posted is worth 3.37% of a 4% edge, not 4%. Everything in the window is built around getting you to an answer before that decay eats it.

  1. Open it

    No account, no login, no sync. It runs offline, so there is no round trip between you and an answer.

  2. Type the price

    Every field is already filled with a worked example, so you can see the shape of the answer before you have typed anything. Replace the numbers that differ.

  3. Press Enter

    Enter runs the tab you are in. Reaching for the mouse to submit a four-character form is the slowest part of a fast decision.

  4. Check it is still there

    The fifth tab prices the quote's age against the book's own latency and tells you the chance it fills — 84% on a 10s quote, against the 89% a screen that ignores its own lag would show you.

And the account still has to be there tomorrow

An edge you get limited out of is a hobby

Risk desks do not read your intentions. They read the shape of your betting: how precise the stakes are, which markets you pick, how fast you react. Bookbreaker scores that shape and spends a named amount of edge to soften it.

What it will never do: no multi-accounting, no identity or KYC workarounds, no device or location spoofing. The model reads bet attributes only — stake, timing, market, velocity — and has no access to identity or network state. That line is drawn in the code, not in a policy page.

The whole model, with its numbers →

Stake precision

100% mechanical at 473.82

0% at 500.00

Nobody types 473.82.
Market mix

5% h2h

90% alternate_spreads

Edge hides where attention does not go, which is exactly what makes it visible.
Reaction time

99% at 0.5s

5% at 120s

No human refreshes and decides in half a second.
Where it does nothing at all

At a book that does not limit winners, the stake is left alone: 473.82 stands, where a retail book would see 470. Spending edge to hide from a risk desk that does not exist is the most common way these tactics are applied wrongly.

Download it and price one market

Free, 8.2 MB, no account, and it never talks to us. If the first market you run through it does not tell you something your current tool did not, you have lost ninety seconds.

Checksums are published for every release, and the window makes no network calls of any kind — that is enforced by a test, not a promise.