Help Center

55 articles · Last reviewed 25 August 2026 · Soulvaya Labs, INC

Written by the people who built the product, describing what it actually does. If an answer here is wrong or missing, that is a bug in this page — tell us and we will fix it.

Showing all 55 articles.

Getting started

What Bellcow is, what it does with your league, and how to connect the first one.

What Bellcow GM actually isGetting started

Bellcow GM is a general manager for the fantasy football team you already drafted. You connect your league; it reads every roster in that league, every free agent still available in it, and your real scoring and lineup rules. Each week it produces a short, ranked list of the moves worth making — the exact player to claim, the exact bid, the exact drop, the exact trade to offer and to whom.

Two things make that different from a rankings site. First, everything is priced with your league's settings: half-PPR and full-PPR produce different advice, and a superflex league produces very different advice again. Second, Bellcow runs its own projection engine rather than reselling somebody else's list, so a recommendation can be traced back to the numbers underneath it.

It is an analysis tool, not a guarantee. Every probability on the screen is a modeled estimate. See the AI Disclaimer and Fantasy Disclaimer for the full framing.

Updated 25 August 2026 Didn't answer it? Contact support →

How Bellcow works, end to endGetting started

Four stages run behind every screen you see:

  1. League state. Your rosters, scoring rules, lineup slots, schedule, waiver settings and transaction history are read from your platform (or from a file/paste you provide).
  2. Player intelligence. A separately published bundle carries per-player weekly and rest-of-season component projections, market values, usage trends, injury designations and depth-chart position. It is regenerated on a schedule, not on demand.
  3. Scoring and simulation. The components are scored with your rules, an optimal lineup is computed for every team in your league, and 1,500 seasons are simulated to turn roster changes into title-odds changes.
  4. The plan. Candidate moves — lineup swaps, claims, stashes, trades — are ranked and the top few are shown, each with its reasoning, its confidence, and how it moves your odds.

Bellcow never submits anything to your league. Every recommendation ends with instructions for you to execute yourself.

Updated 25 August 2026 Didn't answer it? Contact support →

Connecting your first leagueGetting started

Open the app and pick your platform on the connect screen.

  • Sleeper — type your Sleeper username, or paste a league URL. Nothing else. No password.
  • ESPN — enter the league ID from your league's URL and the season. Public leagues need nothing more; private leagues need two browser cookies (see the private league article).
  • Yahoo — direct sign-in is pending Yahoo's API approval. Use the War Room draft file or paste your roster; both take under a minute.
  • War Room — upload the .json backup from your draft. It carries every roster, your scoring and which team is yours.
  • Other / manual — pick your scoring and starting slots, paste your roster, and optionally paste rivals' rosters to unlock trade and opponent intelligence.

Connecting takes about a minute. You can connect more than one league and switch between them in the sidebar.

Updated 25 August 2026 Didn't answer it? Contact support →

Bellcow is read-only — it never makes a move for youGetting started

Bellcow reads your league. It does not write to it. There is no code path in the product that sets a lineup, submits a waiver claim, drops a player, sends a trade offer, or posts to a league chat — on any platform, ever.

That is why every recommendation ends with a "how to" line telling you exactly what to do in your own app. It is also why Bellcow only ever asks for read-scoped access: Sleeper's public API needs no credentials at all, ESPN private leagues use read-only cookies you paste yourself, and the Yahoo connector (when it goes live) requests read-only Fantasy Sports scope.

If you ever see Bellcow appear to have changed something in your league, that is a bug worth reporting immediately — file it here.

Updated 25 August 2026 Didn't answer it? Contact support →

League connections

Sleeper, ESPN, Yahoo, War Room files, manual paste, re-syncing and what to do when a sync fails.

Connecting a Sleeper leagueLeague connections

Sleeper is the fastest connection because Sleeper's league data is public. On the connect screen choose Sleeper, then either:

  • type your Sleeper username and pick from the list of leagues that comes back, or
  • paste a league URL or league ID (for example https://sleeper.com/leagues/123456789012345678).

You are never asked for a Sleeper password, and Bellcow does not sign in to Sleeper as you. Rosters, scoring settings, lineup slots, the matchup schedule, waiver type and budget, and transaction history all come across, which is what makes FAAB bid sizing and opponent scouting accurate on Sleeper.

If your username finds no leagues, check that you are using your Sleeper username rather than your display name, and that the league is for the current season.

Updated 25 August 2026 Didn't answer it? Contact support →

Connecting an ESPN leagueLeague connections

Choose ESPN, then enter the league ID and the season. The league ID is the number in your ESPN league URL, e.g. fantasy.espn.com/football/league?leagueId=1234567.

If the league's visibility is public, that is all you need. Bellcow reads rosters, teams, settings, matchups and status through ESPN's read endpoints.

If the league is private you will get a 401 or 403 back. That is ESPN refusing an anonymous reader, not a Bellcow failure — add your espn_s2 and SWID cookies as described in the next article.

Two known ESPN quirks: some private leagues do not expose a full matchup schedule, in which case odds are computed against a modelled balanced round-robin (the Data Health screen says so plainly), and a league imported without scoring settings falls back to half-PPR, which the app also flags.

Updated 25 August 2026 Didn't answer it? Contact support →

ESPN private leagues: espn_s2 and SWIDLeague connections

ESPN does not offer read-only API tokens for private leagues. The only way any third-party tool can read one is with two cookies your browser already holds. To find them:

  1. Sign in to fantasy.espn.com in a desktop browser.
  2. Open developer tools (F12 or right-click → Inspect) → Application (Chrome/Edge) or Storage (Firefox) → Cookies → https://fantasy.espn.com.
  3. Copy the value of espn_s2 (a long URL-encoded string) and SWID (a GUID in curly braces, e.g. {ABC12345-...}).
  4. On the Bellcow connect screen, open "Private league? Add espn_s2 and SWID" and paste both.

These are not your ESPN password, and Bellcow never asks for one. The values are passed through per request to ESPN and kept in your own browser so re-syncing works; they are not part of your Bellcow account. Rotating them is easy — sign out of ESPN, sign back in, and the old cookies stop working. If a sync that used to work starts failing with 401, that is usually exactly what happened: re-copy the cookies.

Updated 25 August 2026 Didn't answer it? Contact support →

Yahoo leagues (file or paste, for now)League connections

Direct "Sign in with Yahoo" is not live yet. Yahoo reviews every application before granting Fantasy Sports API access, and ours is in that review queue. We would rather say so on the connect screen than pretend a button works.

Two routes work today and both take under a minute:

  • War Room draft file — if you drafted with the War Room, upload the .json backup. It carries every roster in the league, your scoring rules and which team is yours, which is the richest import short of a live API.
  • Paste your roster — choose your scoring and starting lineup, paste your players one per line, and optionally paste rival rosters. With rivals included you get trade ideas and opponent scouting too.

The status page reports Yahoo Sync as Maintenance until the connector is approved and enabled. When it goes live it will request read-only scope, and your tokens will live in your browser rather than on our servers.

Updated 25 August 2026 Didn't answer it? Contact support →

Importing a War Room draft fileLeague connections

Choose War Room on the connect screen and select the .json backup your draft produced. Bellcow reads the picks, every team's roster, the league's scoring rules and starting lineup, and which team is yours.

One thing to understand about a file import: it is a snapshot. The rosters are frozen at the moment the file was written. Projections, values, injury designations and trends keep refreshing normally on top of it, but if you make a trade or a waiver claim on your real platform, Bellcow will not know until you re-import an updated file or move that league to a live connection.

The Data Health screen labels this connection "Static import — re-upload after trades elsewhere" so you always know which kind of league you are looking at.

Updated 25 August 2026 Didn't answer it? Contact support →

Pasting a roster manuallyLeague connections

Manual paste works with any platform, including ones Bellcow has no connector for. On the connect screen choose Other, then:

  1. Name the league and pick your scoring (full PPR, half PPR or standard) and passing-TD value.
  2. Set your starting lineup as a comma list — e.g. QB,RB,RB,WR,WR,TE,FLEX,K,DEF,BN,BN,BN,BN,BN,BN. Get this right; every value on every screen is priced against these slots.
  3. Paste your roster, one player per line.
  4. Optionally paste other teams — "Team name:" on its own line, then that team's players, with a blank line between teams.

With only your roster, you get lineup advice, waiver and free-agent advice, and player valuations. Adding rival rosters is what unlocks trade ideas, opponent scouting and league-wide positional scarcity — it roughly doubles what the engine can say.

Updated 25 August 2026 Didn't answer it? Contact support →

Re-syncing and reconnecting a leagueLeague connections

Live connections (Sleeper, ESPN) re-read your league whenever you open it and whenever you press Sync now on the Data Health screen. Nothing is cached so long that a Sunday-morning trade would be missed.

Reconnecting is what you do when the credentials behind a connection stop working:

  • ESPN — 401/403 after a previously working sync almost always means your espn_s2/SWID cookies rotated. Re-copy them from your browser and re-import.
  • Yahoo (once live) — OAuth tokens refresh themselves; if a refresh fails you get a reconnect prompt and sign in again.
  • War Room / manual — there is nothing to reconnect. Re-import the file or re-paste the roster to bring it current.

Deleting and re-adding a league is always safe. Nothing about your league is stored anywhere that a re-import can corrupt.

Updated 25 August 2026 Didn't answer it? Contact support →

A league won't sync — work through this listLeague connections

In rough order of likelihood:

  1. Wrong season. ESPN in particular needs the season that matches the league; a 2025 ID with a 2026 season returns an empty or 404 response.
  2. Private league without cookies. ESPN returns 401/403. Add espn_s2 and SWID.
  3. Stale cookies. They rotate when you sign out or change your ESPN password. Re-copy them.
  4. Wrong identifier. Sleeper wants a username or a league ID — a display name or a team name will not resolve.
  5. The platform is down. Check the status page — it checks Sleeper's and ESPN's APIs directly and will say so if they are not answering us.
  6. A browser extension or corporate network blocking the request. Try a private window with extensions off.

Still stuck? Send us the platform, the league ID and the exact error text from the connect screen — open a League Sync ticket and we will reproduce it.

Updated 25 August 2026 Didn't answer it? Contact support →

Multiple leagues, and switching between themLeague connections

You can connect as many leagues as you play in. They appear in the sidebar with their platform badge and your record; clicking one loads its plan. Each league keeps its own scoring, slots, waiver settings and history, so advice never bleeds between them.

If you are signed in, your connected leagues sync to your account so the same set appears on your phone and your laptop. Signed out, they live only in that browser.

The season pass covers unlimited leagues on one account — there is no per-league charge.

Updated 25 August 2026 Didn't answer it? Contact support →

The GM Plan

How the ranked plan is built, what GM Impact and confidence mean, and why it changes.

What the GM Plan isThe GM Plan

The GM Plan is the ranked list of things worth doing to your team right now. Each entry is a concrete action — start this player over that one, claim this free agent with this bid and drop that guy, offer this trade to this manager — never a vague "consider adding".

Every entry carries four things: a GM Impact score, an urgency (now / today / this week / optional), a confidence level, and the reasoning that produced it, including what it does to your title odds when that change is big enough to be real.

The plan is deliberately short. If your roster is already the best version of itself, the plan says so and shows nothing. A tool that invents three moves every week is a tool that will eventually talk you into a bad one.

Updated 25 August 2026 Didn't answer it? Contact support →

How a recommendation is builtThe GM Plan

For each candidate move the engine does the same four things:

  1. Score every player with your rules. Projections are stored as raw components — pass yards, receptions, red-zone carries and so on — and scored with your league's actual settings, so a reception is worth 1.0, 0.5 or 0 depending on your league, not on an average league.
  2. Rebuild the optimal lineup. Not just for you: for every team in your league, so "they need a running back" is a computed fact about their best possible lineup rather than a guess.
  3. Price availability. A player who is Out, on IR, on PUP or suspended is discounted rather than treated as healthy.
  4. Simulate. 1,500 seasons are simulated from the current standings and schedule to convert "+1.4 points per week" into "+0.9 percentage points of title odds".

Only moves that survive all four steps are shown, and they are ranked by simulated title-odds change first, GM Impact second.

Updated 25 August 2026 Didn't answer it? Contact support →

What GM Impact meansThe GM Plan

GM Impact is a 5–99 score answering one question: how much does this move matter to your season? It is a ranking device, not a percentage of anything.

What feeds it depends on the move type. A lineup fix is scored on the projected points it recovers and the win-probability swing in this week's matchup. A waiver claim is scored on value over the replacement you would actually drop, plus how much it improves your starting lineup, plus how fast the market is moving on that player. A trade is scored on your lineup gain, weighted by the modeled probability the other manager accepts it — a brilliant trade nobody would ever take is not worth much.

Two deliberate distortions: repeated add recommendations are damped, so the fourth waiver idea scores lower than the first even if the players are similar, and everything is capped at 99. Use GM Impact to decide what to do first, and title-odds change to decide whether it is worth doing at all.

Updated 25 August 2026 Didn't answer it? Contact support →

What confidence meansThe GM Plan

Confidence answers "how much should you trust this?" and it is computed from two things, then held to the worse of them.

  • Data completeness. Every player in the plan carries a 0–100 completeness score — how much real evidence exists behind their projection. The players named in your plan are averaged: 85+ is HIGH, 65+ is MEDIUM, below that is LOW.
  • Data age. Intel refreshed within 24 hours and a league synced within 12 hours is HIGH; over 24/12 hours drops to MEDIUM; over 72 hours drops to LOW.

The final level is never better than the age-based one. Fresh-but-thin data cannot be called HIGH, and neither can rich-but-stale data. Individual moves also carry their own confidence — a trade whose acceptance estimate is below 55% is marked LOW even when the data behind it is perfect, because the uncertainty there is about a human, not about football.

Updated 25 August 2026 Didn't answer it? Contact support →

Why odds sometimes say "too close to call"The GM Plan

Championship odds come from a Monte Carlo simulation — 1,500 simulated seasons — and a simulation has sampling error. If a move shifts your simulated title odds by less than the simulation's own margin of error, the honest answer is that we cannot tell the two scenarios apart.

So instead of printing "+0.1% title odds" and letting you believe a number that is really noise, Bellcow prints "Too close to call in the simulation — the title-odds change is smaller than the model's own margin of error." The move may still be worth making: its points-per-week gain and its GM Impact are separate, measurable things. It just does not have a defensible effect on your championship probability.

You will see this most often in week 1 or 2, when there is very little separating twelve teams, and on stash-type adds, which are options on a future role rather than upgrades to today's lineup.

Updated 25 August 2026 Didn't answer it? Contact support →

Why recommendations change between visitsThe GM Plan

Four legitimate reasons, all of them the system working:

  • New intel. Projections, values and usage trends are republished Tuesday, Friday and Sunday. A Friday practice designation can move a player from start to sit.
  • Injury and depth-chart changes. Scanned every 15 minutes (every 5 on Sundays). A starter ruled out changes your lineup and everyone's waiver targets.
  • Your league moved. Somebody else claimed the free agent Bellcow told you to bid on, or a rival trade changed which teams are weak where.
  • You made the move. Executed advice disappears from the plan, and the next-best move takes its place.

What should not happen is the plan changing with no change in inputs. If you see contradictory advice within a single sync, tell us and include the league and the two screens.

Updated 25 August 2026 Didn't answer it? Contact support →

The plan is empty — is it broken?The GM Plan

Almost certainly not. An empty plan means: your current starting lineup is already the optimal one from the players you have, no available free agent beats anyone worth dropping, and no trade improves both your team and a partner's enough to be worth proposing.

That is a normal state for a good roster in a shallow-ish league, especially mid-week after waivers have cleared. Bellcow is built to stay quiet rather than manufacture activity.

Two things worth checking anyway: that your league synced recently (the Data Health screen shows the timestamp) and that your starting slots imported correctly — a league that imported without lineup settings falls back to a standard lineup and will be flagged in the app.

Updated 25 August 2026 Didn't answer it? Contact support →

Lineups

The optimizer, start/sit calls, byes and how injuries are priced in.

The lineup optimizerLineups

The optimizer computes the highest-projected legal lineup from the players you have, respecting your league's real slots — including multiple flex types (standard FLEX, WR/RB, WR/TE and superflex), kickers and defenses.

It fills the most constrained slots first and then assigns flex slots to the best remaining eligible players, so a superflex league correctly starts a second quarterback when that is the highest-scoring legal option. Projections are your-scoring-adjusted, and any player who is Out, IR, PUP or suspended is discounted before being considered.

You get both the optimal lineup and the difference from your current one, in projected points, so a swap worth 0.3 points is visibly not worth the click and a swap worth 6 is.

Updated 25 August 2026 Didn't answer it? Contact support →

Start/sit calls, and the underdog lineupLineups

The default recommendation maximizes projected points. But maximizing points is not always the way to maximize your chance of winning this week.

When you are projected to lose your matchup, Bellcow also computes a higher-variance lineup — one with a slightly lower median but a fatter upside tail — and shows it when it genuinely raises win probability. It is labelled as an underdog play and marked "only if you're the underdog Sunday morning", because it is the wrong lineup if the matchup swings back your way.

Both versions quote win probability against your actual opponent's optimal lineup, not against a generic opponent.

Updated 25 August 2026 Didn't answer it? Contact support →

Bye weeksLineups

A player on bye projects zero for that week, so the optimizer naturally routes around them: your best legal lineup from available players is what gets recommended, and a bye-week hole shows up as a lineup issue with a concrete replacement.

Bye weeks also feed the waiver and trade engines. A team facing a two-starter bye in the same week has a real, temporary need — which is exactly the kind of thing that makes a trade acceptable to them, and which the trade engine uses when it estimates whether an offer gets taken.

Rest-of-season values are computed per game played, not per week on the calendar, so a bye does not make a good player look permanently worse.

Updated 25 August 2026 Didn't answer it? Contact support →

How injuries are handledLineups

Two separate mechanisms:

  • Availability discount. A player's projection is multiplied down by their designation before any lineup, waiver or trade math runs — Out, PUP, suspended and not-active are discounted to 70%, IR to 55%. This is deliberately not zero: designations change, and a hard zero would produce panic drops.
  • Hard lineup flags. A rostered starter who is Out, on IR or on PUP produces a lineup issue in the plan with an explicit replacement, and a roster-health entry listing everyone affected, plus whether your league has an IR slot to move them into.

Designations come from official injury reports in the published bundle, with a live overlay from Sleeper's player feed on top so a Sunday-morning downgrade is caught between scheduled refreshes. Where sources disagree, the disagreement is surfaced rather than silently resolved.

Updated 25 August 2026 Didn't answer it? Contact support →

Waivers

The waiver assistant, FAAB bid sizing, drops and the breakout finder.

The waiver assistantWaivers

The assistant ranks every free agent in your league — not the global add list — by what they would actually do for your roster. The score combines:

  • value over the replacement you would realistically drop (not over a generic replacement level),
  • how much they improve your starting lineup, which is what actually scores points,
  • market momentum: 24-hour and 6-hour add velocity, and whether that velocity is accelerating,
  • whether the player ahead of them on the depth chart is hurt.

The top candidate becomes a claim recommendation with an exact bid and an exact drop; a second is offered as a backup claim in case you lose the first. Everything is capped by your league's real roster limits — if your roster is full and nothing is safe to cut, the recommendation says so instead of pretending a spot exists.

Updated 25 August 2026 Didn't answer it? Contact support →

How FAAB bids are sizedWaivers

The starting point is a fraction of your budget driven by the player's value over replacement, their starting-lineup gain, whether their add velocity is accelerating, and whether the man ahead of them is hurt. That fraction is clamped between 2% and 40% of budget.

Then comes the part most tools skip: the number is scaled to what your league actually pays. Bellcow reads your league's completed waiver transactions, takes the median winning bid, and compares it to the heuristic's own implied median of roughly 6% of budget. A league that consistently pays $2 gets bids scaled down; a league where every add costs $30 gets bids scaled up. This needs at least five recorded bids in the league's history — below that, the heuristic runs unscaled.

Every figure — suggested, aggressive (×1.35) and conservative (×0.7) — is then capped by the money you actually have left, so you will never be told to bid $40 with $12 remaining. Alongside the bid you get an acquisition estimate and the names of rival teams with both the positional need and enough budget to outbid you.

Updated 25 August 2026 Didn't answer it? Contact support →

Which player to dropWaivers

The drop suggestion is always the cheapest real loss: the lowest rest-of-season value on your bench, after protecting anyone in your optimal starting lineup. If you have an open roster spot, Bellcow says so and recommends no drop at all.

Two guards worth knowing. A player is never suggested as a drop twice in the same plan, so you cannot accidentally follow three recommendations that all cut the same guy. And if nothing on your roster is safe to cut, the recommendation says exactly that — "your roster is full and nothing is safe to cut — skip unless you free a spot" — rather than picking a victim.

Injured players are not auto-dropped. If your league has an IR slot, the roster-health entry tells you to use it instead.

Updated 25 August 2026 Didn't answer it? Contact support →

Waiver priority leagues (no FAAB)Waivers

If your league uses rolling or reverse-standings waiver priority instead of FAAB, there is no bid to size — the question becomes whether this claim is worth burning your position.

Bellcow answers it directly: for the top candidate it counts how many rival teams are CRITICAL or WEAK at that position, and tells you either "use your waiver priority here — 3 rivals need RB too" or "safe to claim without burning high priority — nobody else needs RB". Backup candidates are labelled "only if you miss the primary claim — don't burn your #1 on him".

Updated 25 August 2026 Didn't answer it? Contact support →

The breakout finder (stashes)Waivers

Separate from claim recommendations, Bellcow looks for players whose opportunity is arriving before their production — the guy whose box score still looks ordinary but whose snap share and target count have climbed three weeks running, or who is suddenly the healthy body ahead of an injury.

The test uses absolute deltas, not ratios, and requires a sustained climb rather than one spike — a quarterback going from one scramble to three is not a breakout. When it fires you get the actual trend spelled out ("snap share moved 41% → 58% → 71% and targets climbed +4") rather than a black-box "breakout score".

Stashes are explicitly labelled as options, not upgrades: they are not in your starting lineup yet, so they show a title-odds change of zero and say so. The argument for them is that they are free today and will cost real FAAB next week.

Updated 25 August 2026 Didn't answer it? Contact support →

Trades

The analyzer, the finder, the sniper, acceptance estimates and the both-sides rule.

The trade analyzerTrades

Paste or build any offer — including one somebody sent you — and the analyzer rebuilds both starting lineups as they would be after the deal, using your league's real slots and scoring, and reports the change in projected points per week for each side.

It also runs the post-trade rosters through the season simulation, so you get the title-odds effect and not just a points delta. If that effect is inside the simulation's margin of error, it says "too close to call" rather than quoting noise.

Rest-of-season value is per game played, so a player who has missed time is not penalised as though the missed weeks were zeros in a season-long total.

Updated 25 August 2026 Didn't answer it? Contact support →

The trade finderTrades

The finder searches your league for deals rather than waiting for you to imagine one. It looks for a position where you are weak and a rival is deep enough to spare a starter, crossed with a position where they are weak and you are deep — then proposes a swap of roughly fair value between those surpluses.

Two structures are generated: straight one-for-one swaps, and two-for-one packages where a rival needing depth gets two useful pieces for one better starter. Candidate players are drawn from a team's second- through fourth-best at a position, never their best, because nobody trades their alpha.

Results are ranked by your gain multiplied by the estimated chance of acceptance, so a marginal deal that will obviously be taken can outrank a fantasy blockbuster that never gets a reply.

Updated 25 August 2026 Didn't answer it? Contact support →

The trade sniperTrades

The sniper starts from the other direction: you name a player you want, and it finds the best piece you can send that leaves the other team's starting lineup better too. If no such piece exists on your roster, it says so and offers nothing.

That last part matters. An earlier version of this screen scored only your side and showed a "build offer" button on every row, which meant it would happily help you send an offer that was obviously bad for the recipient and would never be accepted. Now the sniper only surfaces a package that both improves your lineup and improves theirs.

Updated 25 August 2026 Didn't answer it? Contact support →

What the acceptance estimate meansTrades

It is a modeled probability that the other manager takes the deal, and it is honest about being a model of a person rather than of football. It rises with how much their starting lineup improves, falls the more surplus value the deal asks them to give up, and rises slightly if that manager has actually completed trades this season — an active trader is a likelier partner than a manager who has never made one.

It is clamped to the 8–90% range, because no offer is a certainty and almost none is impossible. Anything below 55% marks the recommendation's confidence LOW.

Use it as a tiebreaker, not as a prophecy. It knows nothing about the argument you had in the league chat in week 3.

Updated 25 August 2026 Didn't answer it? Contact support →

Why every deal must improve both teamsTrades

Bellcow will not propose a trade unless both starting lineups get better in projected points per week. Not "roughly neutral for them", not "a small loss they might not notice" — a real gain on both sides.

The reason is practical, not moral. A trade proposal is only worth your time if it can plausibly be accepted, and lopsided offers are how you get muted by your league. The engine used to tolerate a partner loss of up to about 0.4 points per week and it produced offers that read as insulting; that tolerance is now zero.

This is also why a deal that is fantastic for you may never be suggested. If it takes value out of the other roster's starting lineup, it is not a trade, it is a request.

Updated 25 August 2026 Didn't answer it? Contact support →

Player data

Where rankings, projections, breakout scores and injury statuses come from, and how often they refresh.

Where rankings and values come fromPlayer data

Bellcow computes its own. There is no rented top-200 list underneath the product.

The engine ingests open NFL data — play-by-play, weekly player stats, snap counts, depth charts, injury reports, rosters and schedules from nflverse (CC BY 4.0) — and builds expected-fantasy-points, opportunity, momentum and rest-of-season models on top of it. Trade values are cross-checked against Stats Guy Fantasy market values.

Rankings you see in the app are therefore not a universal list: they are your league's list, because everything is re-scored with your settings before it is ranked. Full attribution and licensing is on the Data Sources page.

Updated 25 August 2026 Didn't answer it? Contact support →

How projections are computedPlayer data

Projections are stored as raw statistical components — pass yards, pass TDs, interceptions, rush attempts and yards, receptions, receiving yards, red-zone opportunities, kicking and defensive events — never as a single points number. The points figure you see is those components scored with your league's rules at the moment you look at them.

That design is what lets one bundle serve a full-PPR league and a standard league correctly, and it is why changing your scoring settings changes every value on every screen immediately.

Two projections exist per player: a weekly projection for the upcoming week, and a rest-of-season projection expressed per game played, so an injured player's remaining value is not diluted by the weeks he will miss.

Updated 25 August 2026 Didn't answer it? Contact support →

Breakout score and usage trendsPlayer data

The usage trend looks at a player's last three games and measures the absolute change in snap share (in percentage points), targets, carries and red-zone opportunities — plus whether each of those has climbed rather than bounced.

A "hidden breakout" fires only when there is meaningful current volume and a sustained climb, which is what separates a role change from a good game. When it fires, the app shows you the actual numbers behind it rather than a score with no provenance.

Usage trends need weekly box-score history, so early in a season — and for players with fewer than two games — this signal is simply absent rather than guessed at.

Updated 25 August 2026 Didn't answer it? Contact support →

Injury status: where it comes from and how fastPlayer data

Designations (Questionable, Doubtful, Out, IR, PUP, suspended) come from official injury reports carried in the published intel bundle, with a live overlay from Sleeper's global player feed applied on top so a change between scheduled refreshes still reaches you.

Where two sources disagree, Bellcow does not silently pick a winner. It ranks sources by priority and recency, shows the most recent verified report, and tells you there is a conflict and how old the stalest source is.

What Bellcow does not have: practice-participation reports, gameday inactives, live snap counts and weather, all of which need a commercial feed we have not purchased. The app's Data Health screen lists those as "not connected" rather than pretending they are covered — and the same honesty applies on the status page.

Updated 25 August 2026 Didn't answer it? Contact support →

How often data refreshesPlayer data

Three separate cadences:

WhatWhenWhy then
Projections, values, rest-of-season, trendsTuesday, Friday and SundayPost-Monday-night stats; Friday practice designations; final Sunday availability
Injury and depth-chart scanningEvery 15 minutes (every 5 on Sundays)Designations move all week and constantly on gameday
Your league's rostersOn open, and on demandTrades and claims in your league happen on your league's schedule

The morning GM digest is assembled after the scheduled refresh so the email and the app never disagree. The app's Data Health screen shows the real age of every feed, and the status page reports the published bundle's age from outside the app.

Updated 25 August 2026 Didn't answer it? Contact support →

Billing

Pricing, what a season pass covers, refunds, receipts and the fact that nothing renews.

What it costs and what the season pass coversBilling

Bellcow GM is $19.99, once. That is a season pass, and it runs through January 5. There is no monthly plan and no per-league charge.

The pass covers everything: unlimited leagues, the full GM plan, the lineup optimizer, the waiver assistant with FAAB bid sizing, the trade analyzer, finder and sniper, championship odds from the season simulation, player valuations and the morning digest. The Season Pass is the product — there is no free tier. A pass covers every league you manage; the in-app alert inbox works for any signed-in account, pass or not.

A purchase made during the season covers that season through January 5. A purchase made January 1–5 covers the season already in progress. On January 5 access ends and the account drops back to free — nothing charges again.

Updated 25 August 2026 Didn't answer it? Contact support →

Nothing auto-renewsBilling

There is no subscription to cancel, because there is no subscription. The season pass is a one-time charge; when it expires the account simply reverts to free. Your card is not stored for a future charge by us, no renewal email will arrive in February, and there is no dark-pattern retention flow to sit through — there is nothing to retain.

If you want the next season, you buy the next season, on purpose. The Cancellation Policy says the same thing in more formal language, and it is short.

Updated 25 August 2026 Didn't answer it? Contact support →

RefundsBilling

7 days, no questions asked, before the season's midpoint. Ask within 7 calendar days of the purchase timestamp on your Stripe receipt, and before the end of NFL regular-season Week 9, and you get the full $19.99 back with no explanation required and no retention pitch.

One email to support@bellcowgm.com — or a Refund ticket — does it. Refund and billing tickets are answered in under 4 business hours. The money returns to the original payment method; how fast it appears is your bank's business, typically 5–10 business days.

The full policy, including exactly why the midpoint rule exists, is on the Refund Policy page.

Updated 25 August 2026 Didn't answer it? Contact support →

Receipts and invoicesBilling

Payment is processed by Stripe, and Stripe emails the receipt to the address you entered at checkout, immediately after the charge. That receipt is the authoritative record of your purchase timestamp — which is what the refund window is measured from.

Bellcow separately emails a "your season pass is active" confirmation to the address on your account, including the date your access runs through.

If you need a copy, a different billing address on it, or a VAT/receipt format your employer will accept, open a Billing ticket with the email you paid from. We never ask for card numbers by email, and we never see your full card details at all — Stripe holds them, not us.

Updated 25 August 2026 Didn't answer it? Contact support →

I paid but the app still says freeBilling

Almost always one of three things:

  1. Different email addresses. Your pass is matched to the email you paid Stripe with. If you signed in to Bellcow with a different address, the lookup finds nothing. Sign in with the address on your Stripe receipt, or open a Billing ticket and we will merge them.
  2. Cached entitlement. The app checks a cached entitlement first for speed. Sign out and back in, or reload, to force a fresh lookup against Stripe.
  3. Stripe is slow or unreachable at that moment. Entitlements resolve on demand against Stripe's API; if that call fails, the app falls back to your last known state and marks it stale. Check the status page — it reports Stripe reachability directly.

If none of that does it, open a Billing ticket with the email on the receipt. That is a critical-priority category: under 4 business hours.

Updated 25 August 2026 Didn't answer it? Contact support →

Account

Signing in with an emailed code, changing your email, and deleting your account.

Signing in: a 6-digit emailed code, no passwordsAccount

Bellcow has no passwords. You enter your email, we email you a 6-digit code, you type it in, and you are signed in for 30 days on that device.

Details worth knowing: the code expires in 10 minutes, works once, and allows 5 wrong attempts before it is destroyed and you need a new one. You can request a new code every 30 seconds. We store only a hash of the code, never the code itself.

Because there is no password, there is nothing to reuse, nothing to breach and nothing to reset. It also means no Bellcow employee will ever ask you for a password or a code — if you get a message asking for either, it is not from us. Forward it to support@bellcowgm.com.

Updated 25 August 2026 Didn't answer it? Contact support →

The sign-in code isn't arrivingAccount

Work through these in order:

  1. Check spam and promotions. A first-time sender lands there more often than anyone would like.
  2. Check the address you typed. A typo produces a perfectly successful send to somebody else's inbox.
  3. Wait 30 seconds and resend. Requests inside 30 seconds are rejected on purpose to stop mail loops.
  4. Check the code hasn't expired. Ten minutes, one use. An old code in your inbox will not work.
  5. Check status. The status page reports whether our mail provider is reachable and configured. If Email shows anything other than Operational, that is your answer.

Corporate mail filters are the most common remaining cause. If you are stuck, open an Account ticket from a different address — account-access tickets are answered in under 4 business hours.

Updated 25 August 2026 Didn't answer it? Contact support →

Changing the email on your accountAccount

Your email address is your account identifier, and it is also what your season pass is matched against at Stripe, so changing it is a deliberate operation rather than a settings toggle.

Open an Account ticket from the current address, naming the new one. We verify control of both addresses before moving anything, then move your leagues, preferences, digest settings and entitlement across in one step. Account tickets are critical priority: under 4 business hours.

If you have already lost access to the old address, say so in the ticket — we will verify you another way, usually against the Stripe receipt for your purchase.

Updated 25 August 2026 Didn't answer it? Contact support →

Deleting your account and your dataAccount

Email support@bellcowgm.com from the address on the account, or open an Account ticket, and ask for deletion. We confirm, then remove your account record, your synced leagues and preferences, your alert inbox, your digest settings and your entitlement cache.

Two honest caveats. Payment records are held by Stripe and by us for the period tax and accounting law requires — we cannot delete a financial record on request. And support tickets you have already sent are retained for a limited period as described in the Privacy Policy, which also covers your access, export and correction rights.

Deleting your Bellcow account does nothing to your Sleeper, ESPN or Yahoo account. Bellcow only ever read them.

Updated 25 August 2026 Didn't answer it? Contact support →

Using Bellcow on more than one deviceAccount

Sign in with the same email on each device — a code is emailed each time — and your connected leagues, preferences and digest settings sync to all of them. A session lasts 30 days per device.

If you are signed out, everything lives only in that browser: your leagues are not lost, but they are not shared either, and clearing site data will remove them. Signing in later uploads what that browser already has.

Bellcow also installs as an app on a phone home screen (Add to Home Screen) if you prefer it that way. Same account, same data.

Updated 25 August 2026 Didn't answer it? Contact support →

Troubleshooting

The app won't load, a league won't sync, the roster looks wrong, data looks stale, a call looks wrong.

The app won't loadTroubleshooting

In order:

  1. Hard-reload. Ctrl/Cmd + Shift + R. The app is served with a service worker, and an interrupted update is the single most common cause of a blank or half-rendered screen.
  2. Try a private window. This rules out an extension — content blockers and privacy extensions occasionally block the app's own function calls.
  3. Check status. If Website or Authentication is not Operational, you have your answer, and the note on that component tells you what is wrong.
  4. Try another network. Corporate and school networks sometimes block the serverless function endpoints the app depends on.

Still broken? File a bug with your browser and device (the form fills that in for you), what you saw, and anything in the browser console if you can get to it.

Updated 25 August 2026 Didn't answer it? Contact support →

The roster looks wrongTroubleshooting

Check the timestamp first — the Data Health screen shows exactly when the league last synced. If it is old, press Sync now; a recent trade or claim simply may not have been read yet.

If the roster is current but the lineup looks wrong, the usual cause is imported settings: a league that arrives without usable lineup slots gets a standard lineup assumed, and one that arrives without scoring settings gets half-PPR assumed. Both are flagged in the app when they happen, and both make everything downstream wrong until corrected. Re-import, or set them by hand on a manual league.

If it is a War Room or pasted league, remember it is a snapshot — it will not know about anything you did on your real platform since the import.

Updated 25 August 2026 Didn't answer it? Contact support →

The data looks staleTroubleshooting

Open Data Health in the app. It shows the live age of each feed: your league sync, the intel bundle, projections, market trends and the platform connection, with a pass/fail against each one's expected freshness.

Expected ages: the intel bundle refreshes Tuesday, Friday and Sunday, so up to roughly three days old is normal on a Monday; injury and depth scanning runs every 15 minutes; your league re-reads on open.

Overall plan confidence is deliberately capped by data age — over 24 hours of intel or 12 hours of league sync drops it to MEDIUM, over 72 to LOW — so the app cannot show you a HIGH-confidence call built on stale numbers. The status page reports the published bundle's age independently, so you can tell a stale app from a stale bundle.

Updated 25 August 2026 Didn't answer it? Contact support →

A recommendation looks wrongTroubleshooting

Open the move and read its reasons — every recommendation carries the numbers that produced it, so a disagreement usually resolves into one of four things:

  • Scoring mismatch. Check the scoring and slots on the league screen. A league that imported as half-PPR when it is full PPR will consistently undervalue receivers.
  • Stale designation. If the injury status shown is out of date, the availability discount is wrong, and everything after it is too.
  • An honest model disagreement. Bellcow ranks by projected points into your actual slots. It will sometimes prefer a boring high-floor player to the guy the internet likes this week.
  • A real bug. Contradictory advice inside a single sync, a player who is not on your roster, a bid above your remaining budget — those are defects.

Either way we want to hear about it. Open an AI Recommendation ticket with the league, the move and what you expected; if you tick the diagnostics box we can reproduce it against your league's settings rather than guessing.

Updated 25 August 2026 Didn't answer it? Contact support →

The morning digest isn't arrivingTroubleshooting

Three requirements, all of which must be true: digests are switched on in Settings → Notifications, you are signed in on the account whose email should receive it, and your season pass is active. A free or expired account is skipped.

The digest sends in a morning window each day, assembled after the scheduled data refresh so the email and the app agree. If yours arrives late, it was almost certainly sent in a later slice of that window — the send resumes across several passes so nobody gets mailed twice.

Also check spam, and check the status page: the Email component reports whether the mail provider is reachable and when the last digest run completed. If everything looks right and it still is not arriving, tell us.

Updated 25 August 2026 Didn't answer it? Contact support →

Bellcow picked the wrong team as mineTroubleshooting

On Sleeper and ESPN, your team is identified from the account or league data you connected with. On a War Room import it comes from the draft file, and on a manual paste it is whichever roster you entered as yours.

If the wrong team is selected, the fastest fix is to remove the league and re-add it, choosing your team explicitly when prompted. Every piece of advice — lineup, waivers, trades, odds — is computed for "your" team, so this is worth fixing before reading anything else on the screen.

If re-adding keeps picking the wrong team, that is a bug: file it with the platform and league ID.

Updated 25 August 2026 Didn't answer it? Contact support →

Still stuck?

Contact supportA real ticket with a real ID. Under 24 hours, and under 4 business hours for billing, refunds and account access. Report a bugWhat happened, what you expected, whether it reproduces. Goes straight to the people who can fix it. System statusLive checks on sign-in, payments, the AI GM, player data and every league connector. support@bellcowgm.comPrefer plain email? That address reaches the same queue.