open-leagues

Receipts

Paste a Sleeper league id. For any settled week: the minute the matchup flipped, bench points left, wire cost, and which open source called it.

Two URLs

URLShowsNeeds
/r/:leagueIdEach matchup of the current week on one line, with a week pickerNothing
/r/:leagueId/:week/:rosterIdOne team’s receipt, with an image card for the chatNothing

:leagueId is a raw Sleeper id. Private leagues work, since Sleeper’s API serves them by id. A username in the finder lists that person’s leagues. When a team name is the manager’s username, it renders as Roster N.

A league on your own league box (an lg_ id) has receipts too, behind the same seat check and with no public card. The public box hosts no leagues.

What is on one

LineSaysComputed from
The flipThe minute the lead last changed, the play, and the win probability a half-hour earliernflverse play-by-play under the league’s book
The benchPoints left on the bench, and who sat behind whomBest lineup on the box score against the lineup set
The sourcesWhat each open source would have called before kickoffSleeper projection · last three weeks · season average, under the same book
The wireBids as a share of budget, results, and what the player cleared for elsewhereLeague transactions plus wire clearing prices in percent of budget, once a second league has one
The season ledgerWhich open source would have set a better lineup than you, week by weekEach source’s pre-kickoff lineup scored on the box score
The agent’s lineWhich lineup moves a token made, by name and timeagent_action
a real one · SDIFFL 2025 · week 14 · NateBot 129.0 · Roster 14 85.3
Took the lead for good at 3:41pm ET on a Trevor Lawrence completion, 78.8–78.6 · 78% to win at 3:11pm.
6.5 left on the bench — Omarion Hampton (13.7) started over Saquon Barkley (20.2).
  Sleeper projection, Last 3 weeks, and Season average all said start Barkley.
Wire: bid $26 on Stefon Diggs — 13% of a $200 budget — lost.

Paid sources do not appear on a receipt.

The card

Each receipt page sets og:image to a PNG at /api/og/r/:leagueId/:week/:rosterId, so a pasted link unfurls the receipt in iMessage or Discord. The card draws only what is on the receipt.

Receipts show team names, not people. To have a league’s receipts taken down, open an issue on the repo with the league id.

How the flip is found

  • Each season’s nflverse play-by-play is streamed once into a per-game timeline of scoring deltas: who gained what, on which play, at which second.
  • Both lineups are replayed under the league’s scoring book, so a half-PPR flip and a full-PPR flip can land on different plays.
  • The flip is the last moment the lead changed. “How likely you were” is a win-probability snapshot from thirty minutes earlier.
  • Kick times are Eastern. If the season’s play-by-play is not published yet (the current week, most Sundays), the receipt says so.
  • Where nflverse and Sleeper’s weekly stats disagree, the difference is booked as one event at the final whistle. Each final matches Sleeper to the cent (84 of 84 team-weeks checked). If a correction decided the week, the receipt says “on the final box score”.