Method · every definition
The close is the exam.
Results are noisy; prices are not. A market's closing price is the best estimate of the truth anyone had before the game, so the durable test of skill is whether you consistently bought below it. Everything here derives from that one idea.
§ 1
A position
A position is one wallet's net exposure to one outcome of one market: every fill on that outcome before kickoff is aggregated at its volume-weighted average price, and the entry time is the first fill. Four fills of the same over in one minute are one position, not four bets — that is what keeps the p-values honest. BUY outcome @ p is a bet on that outcome at implied probability p; a SELL outcome @ p is treated as buying the complement at 1 − p. Stake is shares × price, in USD. Fills at or after kickoff are in-game trading and are excluded; kickoff is the sportsbooks' commence time whenever the game is matched, because Polymarket's own start times are occasionally wrong.
§ 2
Two closes
Sportsbook close (q_book)
q_book and is excluded from the book-close CLV (it still counts for the Polymarket close and for PnL). Current coverage: 82.0% of graded bets.Polymarket close (q_pm)
CLV
CLV_book = q_book / p − 1 and CLV_pm = q_pm / p − 1. Positive means you bought below where the market ended up. Averaged over positions, unweighted — every position counts once, so a wallet cannot buy its way up the table. Only positions priced between 5¢ and 95¢ enter the CLV averages: ratio CLV explodes on longshots and proportional de-vigging overstates their fair probability, so a handful of 4¢ tickets could otherwise manufacture a "skill" verdict. Those positions still count in PnL and volume.Venue drift
CLV_pm − CLV_book. When Polymarket closes later or thinner than the books, its close drifts toward the sportsbook price after the trade. A wallet earns that drift by being early on the venue, not by knowing more than the market. Drift is real money while the venue stays stale, and it vanishes when the venue tightens.Grading split
§ 3
Inference
Bootstrap p-value
H0: mean CLV_book ≤ 0. We resample the wallet's graded bets with replacement 2,000 times (fixed seed) and report the share of resampled means at or below zero. Needs n ≥ 30; below that the p-value is reported as 1 and the verdict is “unclear”.Skill score
logistic(mean / SE) × 100, where SE is the standard error of the mean. 50 is no evidence either way; 95+ is a t-stat around 3. It is a readable transform of the same test, not a separate model.Verdict
- Skill: p < 0.05 and n ≥ 100 graded bets.
- Luck: mean CLV_book ≤ 0, or p > 0.5.
- Unclear: everything else — usually a positive mean without enough bets.
Bets to significance
ceil((1.645 × sd / mean)²) — the total number of bets at which the current mean and spread would become significant at the 5% level. Shown as the remaining count. Null when the mean is not positive.Segments
§ 4
The screen
For open markets, EV = q_book / ask − 1. Fillable EV multiplies that by the USD available on the ask side within 2¢ of the best ask. This is the consensus-as-truth rule: it assumes the books are right and Polymarket is wrong, which is the safe direction of that assumption. Free numbers on the site carry no model of ours. Amendment A3 (2026-09-01) sets the release policy from Week 1, live on the site today: a Pro or API subscriber reads each line at its own available_at — 2h after the house trades it, capped at kickoff−6h — and a held-out 20% share is withheld from every subscriber — Pro, API and free alike — until kickoff−15min, and in practice the next scheduled export after it. Every other line is visible to everyone, subscriber or not, by kickoff−15min at the latest: a free visitor sees a count only before that point and the full line from it onward, same as every other tier.
Settlement flags mark rules where Polymarket differs from sportsbook settlement — a cancelled game resolving 50/50, an inactive player resolving Under — because a price that looks cheap may be carrying that risk.
§ 5
What this cannot tell you
- Whether the edge persists. Venue drift in particular is a market-structure feature that closes as the venue matures.
- Anything about markets with no matched sportsbook line. Props, futures and exotic lines are graded against the Polymarket close only, or not at all.
- Anything about a wallet's trades outside NFL game markets. We grade what we can match to a close.
- Whether a wallet is one person. Addresses are addresses.
- Whether subscribers moved the close. Once a signal is public, CLV computed on it can be self-inflated; the registered check is the gap between released and held-out signals on /house, the cleanest estimate we have of our own footprint — and A3 §4 makes it binding: a validation claim requires CLV(holdout) > 0 with n ≥ 300, and a gate that passes while the holdout is ≤ 0 is reported as “passed — self-impact suspected” with no stake escalation permitted.
FAQ
Common questions
Where can I find NFL closing line data?
The NFL page shows cross-book odds and a de-vigged consensus closing line for every game, with line movement from the opening line to kickoff. See Methodology for exact definitions.
Is there closing line data for college football?
Yes — /cfb tracks every FBS game with a posted line, capturing cross-book odds and closing lines roughly every 30 minutes, including a forward-collected NCAAF closing-line archive.
How do I know if a Polymarket bettor is actually good?
The Leaderboard grades on-chain wallets by closing-line value (CLV) against both the sportsbook close and the Polymarket close, with a bootstrap p-value and a skill / luck / unclear verdict. See Methodology section 3 for how the test is built.
What is CLV (closing line value)?
CLV compares the price you got to where the market closed: CLV_book = q_book / p − 1 against the sportsbook close, CLV_pm = q_pm / p − 1 against the Polymarket close. Positive means you bought below where the market ended up. Full definition in Methodology section 2.
Do you sell picks?
No. DexRay sells data and, for Pro and API subscribers, model signals released on a fixed public schedule (amendment A3) — not picks framed as advice, and nothing on the site is a recommendation to place a wager. The house trades the same signals in public under a pre-registered gate and kill criteria; see /house and /terms §1.
Do you take bets or hold funds?
No. DexRay takes no bets, executes no trades on anyone's behalf, and holds no customer funds or wallet keys. Any wager or trade is placed directly with a third-party venue, under that venue's own terms. See /terms §4.
Is there an API?
Yes — /docs/api documents a REST API ($49/mo) for games, cross-book odds, consensus, Polymarket microstructure, sharp-wallet grades and model lines, with a machine-readable OpenAPI spec at /api/v1/openapi.json.
The same definitions grade our own registered strategy. If they are wrong, they are wrong for us first.