Tools
User-entered assumptions, effective rules, citations, intermediate steps, warnings, and reproducible output.
Every mechanic says what it can answer.
A calculator is useful only when its required facts, result and stopping point are visible before a decision depends on it.
Cap space
Required inputs: Effective date and rule citation, Ceiling, Active and other charges, Authorized relief
Produces: Exact charge total, relief total, remaining room and an ordered trace.
Stops here: No result without a dated rule, citation, ceiling and active-commitment total.
Open Cap spaceDeadline space
Required inputs: Accrued room, Full cap-calendar days, Days remaining, Target full-season cap hit
Produces: Buying power, present room required, remaining room and arithmetic trace.
Stops here: No calendar is inferred; invalid or missing day counts stop the calculation.
Open Deadline spaceLTIR
Required inputs: Upper limit, Club salary before relief, League-authorized relief pool
Produces: Temporary operating limit, room inside the pool and ordinary cap position.
Stops here: It never calculates or assumes the league-authorized relief amount.
Open LTIRBuyout cash
Required inputs: Remaining guaranteed compensation, Signing bonuses, Years remaining, Age band
Produces: Eligible salary base, standard payments and equal spread-year payment.
Stops here: It does not claim annual cap charges without every contract-year cash and AAV line.
Open Buyout cashRetention
Required inputs: Contract AAV, Seasonal salary, Retention percentage
Produces: Prior and acquiring club shares of cap charge and cash.
Stops here: Rates above 50% and incomplete later-layer, slot, buyout or loan states stay unresolved.
Open RetentionQualifying offer
Required inputs: Verified prior-salary base, Applicable rule-period multiplier
Produces: The entered base multiplied by the entered rate.
Stops here: It never chooses a legacy threshold, term, timing or two-way treatment silently.
Open Qualifying offerOffer sheet
Required inputs: Total offered compensation, Contract term, Sourced threshold floor and ceiling
Produces: Compensation AAV using the lesser of term and five years, plus an entered-band test.
Stops here: It never names pick compensation without current thresholds and verified club pick ownership.
Open Offer sheetTax and NPV
Required inputs: Annual cash, Years, Assumed effective tax rate, Discount rate
Produces: After-tax annual cash, nominal total and present value.
Stops here: It is not a residence, duty-day, escrow, treaty, fee, deduction or tax-return opinion.
Open Tax and NPVWaivers
Required inputs: First-contract age, Goalie/skater class, Professional seasons, NHL games, Exceptions, Rule date
Produces: Evidence readiness only.
Stops here: No eligibility verdict is produced from age or games alone.
Open WaiversArbitration
Required inputs: Experience, RFA and QO status, Election and deadline, Eligibility exceptions, Evidence window, Walk-away threshold
Produces: Evidence readiness only.
Stops here: No eligibility, award, filing or walk-away conclusion is produced without the effective rule file.
Open ArbitrationWhat this page covers
Rule locked
Effective date, version, citation, and source accompany the result.
Traceable
Inputs, steps, relief, warnings, and intermediate totals stay visible.
Reproducible
A stable calculation payload can be saved and compared.
Four kinds of evidence, kept apart
CapOrCup does not flatten “true,” “projected,” “believed,” and “argued” into the same feed.
Canonical facts
Executed agreements, official registries, notices, reports, and authorized feeds.
Licensed feeds
Roster transactions (waivers, claims, injured reserve, assignments to the minors, signings) come from Sportradar's NHL transfers feed on a 30-day trial: club-announced facts relayed by a licensed distributor, shown with the feed named and never turned into an inference about cause.
CapOrCup analysis
Neutral calculations, research, rule interpretation, and model output with versions.
Fandaq belief
Aggregated belief movement is labelled as market evidence, never an official event.
FilthyGM argument
Opinion and argument stay attributed and visibly separate from neutral analysis.
What comes from a feed, and how fresh it is
Site data as of: roster moves to 2026-10-17 · injury listings 2026-10-18 · projected lineups 2026-10-12 · odds 2026-10-18 · attention 2026-10-18 (social 2026-10-18) · model state 2026-10-18 · build dpl_2RYonwr9. Each feed is named wherever its data appears. The site never calls a feed at run time; a morning job pulls, builds and deploys.
Roster moves
waivers, claims, injured reserve, assignments to the minors, recalls, releases, signings. 1230 moves on file from 2026-09-19.
Club injury listings
status, body area, listed-since and expected-return dates as clubs publish them. 135 active listings.
Projected lineups
lines, pairs, power-play units and the expected starting goalie per club. refreshed weekly on the trial budget.
Market odds
consensus home win probability and total per game, across books. 53 games priced.
League stories (attention)
stories tagged to each player and club in the league's own news feed, counted for white noise.
Wikipedia pageviews (attention)
daily views of each player's and club's article against a 90-day baseline, for white noise.
Bluesky public search (AT Protocol AppView) (attention)
posts naming each player and club in the last 7 days, with likes, reposts and replies, for white noise; no post text is shown on the site. 1318 players and clubs measured.
Feeds the site is built to accept
Each has a normalizer slot and a key name in the hub vault. Connecting one changes nothing downstream.
Starting goalies
the morning's expected starters replaced by projected and confirmed ones from a feed; connector built.
The ear
the radio call aligned to the clock: names heard per booth, later call energy and what the booth reported; connector and matcher built.
Second injury source
a second club-listing source to cross-check the first; connectors built.
Reddit (attention)
posts and comment volume naming each player and club in r/hockey and the club's subreddit, plus each subreddit's audience, added to white noise; connector built.
X post counts (attention)
posts per day naming each player and club, added to white noise; connector built.