# Valid pair: both sides, one book, one snapshot Pinnacle: Team A -108 / Team B -102 implied: 51.9% / 50.5% sum = 102.4% fair: 50.7% / 49.3% # divide by the sum # Invalid: -108 from book A paired with -102 from book B -- # that's a cross-book quote, not a devig pair
Scanners quietly break when one side of a market is missing or stale: pairing prices from different timestamps or books manufactures phantom edges. Requiring a fresh, same-book, same-snapshot pair is the first data-quality gate of any +EV pipeline.
ParlayAPI responses group outcomes under each book per market, so pair validity is checkable directly in the payload - both outcomes present under the same bookmaker entry. Freshness gating comes from /v1/meta/source-quality; the +EV scanner applies both checks before trusting a fair line.