How to Play

How BallStreet works, from the IPO through the final settlement.

1. Overview

BallStreet is fantasy football built on stock-market mechanics. Instead of setting a weekly lineup, you build a portfolio of NFL player shares. A player's share price moves on how he performs against his projection, the way a stock reacts to an earnings report.

Every member starts each league with $100,000 in BallStreet Bucks. There is no real money anywhere in the game. You win by finishing the season with the most valuable portfolio, where

portfolio value = cash + market value of every holding

Leagues are private and invite-only. Your league is scored independently: prices are per-league, so the same player can be worth different amounts in two different leagues.

2. How prices are calculated

A player's posted price is his base price multiplied by up to three multipliers:

price = base price x performance x projection x demand
  • Base price never changes during a season. It comes from pre-season consensus rankings.
  • The performance multiplier moves when he plays, on actual points versus projected points.
  • The projection multiplier moves between games, when the outlook for the rest of his season changes.
  • The demand multiplier reflects how much of his float your league owns. It is optional and off in many leagues.

Two things surprise people, and both are deliberate.

First, trading does not move prices. There is no order book and no per-trade price impact. Everyone sees and pays the same posted price, and buying a player heavily does not make him cost more for the next buyer.

Second, a price can move on a day your player did not take the field. That is the projection multiplier: if his rest-of-season outlook is cut or raised, his price follows, because a price is what he is worth from here, not what he did last Sunday.

3. Base price

Base price is set once, before your league's market opens, from consensus expert rankings. The top-ranked player starts near $100 and the curve falls away logarithmically to a $2 floor by about rank 200. Unranked players sit at the floor.

Base price does not move for the rest of the season. Every price change you see is a multiplier moving.

A league that holds its IPO after the season has started prices off the current outlook rather than pre-season rankings, so a player who has taken over a starting job is priced like a starter instead of like the backup he was ranked as in August.

4. Performance multiplier

This is the core of the game. Every player starts at 1.00 and moves only when he plays:

new = old + old x 0.16 x (actual - projected) / projected

What matters is the gap between actual and projected points, not raw production. A backup projected for 4 points who scores 12 moves far more than a star projected for 20 who scores 24. Beating a low number is worth more than meeting a high one, which is why reading a depth chart pays here.

Meeting the projection exactly changes nothing. A bye changes nothing. A missed game changes nothing — no stats means no signal, in either direction.

The multiplier is sticky: it persists between weeks and carries strong past performance forward, fading only if the player keeps underperforming. It never falls below 0.2 and has no ceiling: a player who keeps beating his projection keeps rising.

5. Projection multiplier

Between games, a player's price tracks his rest-of-season projection per remaining game. When his outlook changes — a starter goes down ahead of him, he is downgraded, his role shrinks — the price moves with it.

This is the answer to 'my guy didn't play, why did his price change'. It is also what stops a downgrade from being free money: without it, bad news would lower the bar he has to clear at settlement without lowering what you pay for him, so buying every downgrade would win.

Three properties keep it honest:

  • The projection level is smoothed before it prices anything, because raw weekly projections bounce around and a price that chases a bouncing number can be farmed by buying every dip.
  • The response is damped, weight 0.16, and clamped between 0.6 and 1.6. Prices move with the outlook, not one-for-one.
  • It freezes once his game kicks off, so nothing shifts under you mid-game.

A player who is ruled OUT does not move at all. A one-week absence is a missed payment, not a re-rating — he is coming back, and cratering him would make every injury a predictable round trip for everyone else.

6. Demand multiplier

Optional, and set per league. In a demand-enabled league, a player who is widely owned carries a premium of up to 30% on top of his performance and projection multipliers. In a performance-only league this multiplier is absent entirely.

Demand is recalculated once a week at the weekly close, and once per round during the IPO. It never moves on an individual trade. That means buying does not immediately raise the price — the effect is deferred to the next recalculation, which is why the mode is called deferred demand.

When you sell, or when your portfolio is valued, your own shares are excluded from the demand calculation. You are paid what the player is worth to everyone else, not what he is worth partly because you bought him. For a normal position the difference is pennies; it only bites someone trying to corner a player's float to inflate their own holdings.

7. The IPO (your draft)

Your league's season opens with an IPO instead of a snake draft. It runs 10 rounds by default, each with a spending cap ($10,000 by default) and a time window (30 minutes by default). Commissioners can change all three.

In each round you submit the players and share counts you want. Everyone's orders for that round fill together when the round closes — it is not a turn order and there is no advantage to submitting first within a round.

If more shares are wanted than exist, the float is allocated and some orders fill partially or not at all; the money from an unfilled order rolls into your next round. Demand is recalculated between rounds, so a player everyone piled into gets more expensive in the round that follows.

One deliberate exception to uniform pricing applies here: on an IPO buy, shares you already hold are excluded from the demand you pay. Otherwise a member accumulating a player across rounds would be bidding against himself and paying a premium he created. It is always a discount, never a surcharge.

8. Autodraft

If you cannot attend the IPO, autodraft submits sensible orders for you each round so you are not left holding only cash. It skips players who cannot play. Showing up to the draft lobby turns it off automatically — the assumption is that if you are present, you want to pick for yourself — unless you deliberately switched it on.

9. Between the IPO and Week 1

If your league drafts before the season starts, the market stays open the whole way to Week 1 and you can keep trading.

By default, NFL preseason games do not move the performance multiplier: most people expect prices to wait for real football. Commissioners can opt in to settling preseason games if they want them to count.

10. Buying and selling

Buy orders are queued, not filled on the spot. They execute together in a fill run after that day's games are final. Sells and covers execute immediately while the market is open.

Placing a buy earlier in the window gains you nothing. There is no price improvement for being fast, and the queue is not first-come-first-served: the order in which members are filled rotates every cycle, so whoever was last this time is first next time. This is on purpose — your league should be won by knowing football, not by refreshing the page fastest.

What you do control is the order of your own pending orders. Cash is the binding constraint on a fill night, so if you have queued more than you can afford, the ones at the front of your queue are the ones that fill. You can reorder them until the run.

All orders are market orders at the posted price. There are no limit orders, and there is nothing to bid, because everyone transacts at the same price.

11. Limited shares

Each player has a finite number of shares in your league: league size x 100. A 12-person league has 1,200 shares of every player, and no more can be created.

When a player's float is fully held, further buys are refused until someone sells. This is the game's real scarcity — not everyone can own the breakout everybody wants, so portfolios genuinely differ. Selling returns shares to the float.

Short positions are synthetic and do not consume float.

12. When you cannot trade a player

Three situations block a trade, and each blocks only one direction.

Injury halt. A player listed IR, OUT, or inactive cannot be bought, and a new short cannot be opened against him. He has no game to settle and his projection deliberately does not move, so his price cannot respond to football — buying him would be a bet on the pricing around him, not on the player. You can always sell or cover a player you already hold.

Already played. Once a player's game has kicked off this week, he is locked: you cannot buy or short him, because the result is known or in progress. Sells and covers are accepted but queue until after the weekly close.

Float exhausted. Every share is held by someone. Nothing to buy until someone sells.

If none of these apply and a buy is still refused, check your buying power: cash already committed to pending buys is not available to spend twice.

13. Short selling

You can bet against a player by shorting him: you profit if his price falls and lose if it rises.

Opening a short requires cash equal to 100% of the position's value as margin, measured across all of your shorts together, plus any loss they are carrying; a short in profit holds back that much less. There is no fee or interest for holding a short. The margin is a requirement, not a deposit — no cash leaves your balance when you short; the profit or loss is settled in cash when you cover. While your shorts are open, the cash their margin requires is held back: you cannot spend it on buys. A buy can only use the cash above what your shorts need.

Margin call. If a price rise leaves your cash plus your shorts' profit or loss below 30% of what it would cost to cover them, enough of your shorts are covered automatically, largest first, to bring you back to that level. It happens right after the price move that caused it, at the price a cover would pay, and you get a notification. A player whose game has been played this week is covered last. A price can jump past that level in a single move, so a short can still lose more than the margin it opened with.

Your short gains whenever the posted price falls — a game below projection, a worse rest-of-season outlook, or other members selling and lowering demand. Your own sales cannot help your short: its price already leaves out the demand from your own shares.

When the market is open a short executes immediately. During games it queues for the next fill run, and if you are short on cash but have sales pending, it queues behind them so their proceeds can cover the margin. A short cannot exceed the player's share float.

The trap worth understanding: an injured player who does not play produces no stats, so there is no underperformance and his price does not move. You also cannot open a new short on a player listed IR, OUT or inactive. You want a player who plays and disappoints.

14. Market hours

The market is halted while NFL games are in progress. You can still queue orders during a halt; they resolve when the market reopens.

This exists so you can watch football instead of trading it. Nobody should have to sit on their phone during the 1pm window to avoid being picked off, and because prices only move at settlement anyway, nobody gains by trying.

15. Settlement

Settlement is when performance actually moves prices. It runs early each morning, after that day's games go final: a Thursday-night player reprices Friday morning, Sunday's players Monday morning, Monday night's on Tuesday.

At settlement each player who played is compared with his projection, his performance multiplier is updated, and his price is rebuilt. Queued orders fill in the same run. The weekly close, after Monday night, additionally recalculates demand in leagues that use it.

Between settlements the posted price is stable. Projection updates are the one thing that can move a price outside settlement.

16. Winning your league

Highest portfolio value at the end of the season wins: cash plus the market value of everything you hold, with short positions marked against you.

Because prices are per-league and the float is limited, your league is a closed contest — you are competing for the same finite shares as everyone else in it. Dues and prizes, if your league has them, are arranged by your commissioner outside the app. BallStreet processes no payments.

17. Asking an AI about your league

BallStreet has an MCP server, which lets an AI assistant read your league directly and answer questions with your actual numbers: why a price moved, what you can afford, who is available, what settlement is about to do.

Create a key at https://ballstreetleague.com/dashboard/api-keys/ (signed in), then point your assistant at the ballstreet-mcp server. A read-only key can look but not trade, and that is the right choice if you only want explanations. If you give it permission to trade, your leaguemates will see a BOT tag on your team — automation is allowed here, hiding it is not.

The assistant reads these same rules from the server, so its answers stay current with the game rather than with whatever it was trained on.

There is a setup page written for the assistant rather than for you at https://ballstreetleague.com/agents/ — hand it that URL and your key and it can work out the rest, including what it is and is not allowed to do.

Create an API key

Glossary

base price
A player's starting price, set from pre-season rankings. Never changes during the season.
posted price
The price everyone sees and transacts at. Base price times the active multipliers.
performance multiplier
Tracks actual points against projected points. The main driver of price.
projection multiplier
Tracks changes in a player's rest-of-season outlook between games.
demand multiplier
Optional per-league premium reflecting how much of a player's float the league owns.
float
The total shares of a player that exist in your league: league size times 100.
shares outstanding
How many of a player's shares are currently held by members.
settlement
The daily process that updates multipliers and rebuilds prices after games go final.
fill run
The batch that executes queued buy orders, in rotating member order.
fill priority
Where one of your own pending orders sits in your personal queue.
buying power
Cash minus everything already committed to pending buys. What you can actually spend.
IPO
BallStreet's draft: multi-round, simultaneous, with a per-round spending cap.
halted
The market is closed to execution because games are in progress. Orders still queue.
locked
A player whose game has started this week. Cannot be bought or shorted.
injury halt
A player listed IR, OUT, or inactive. Cannot be bought or newly shorted.
short
A position that profits when a player's price falls. Margin-backed; no fee to hold.
cover
Closing a short position.
BallStreet Bucks
The in-game currency. Not real money and not redeemable.

Common questions

His rest-of-season outlook changed. Between games, price tracks the projection for the remainder of his season, so a downgrade or an upgrade moves the price without a snap being taken. See the projection multiplier.
Price moves on the gap between actual and projected points, not on raw points. A star who was projected for 20 and scored 24 beat his number by a little. A backup projected for 4 who scored 12 tripled his.
One of four reasons: he is listed IR/OUT/inactive, his game has already started this week, every share is currently held, or your buying power is lower than you think because cash is committed to pending buys.
At settlement, early each morning after that day's games go final. Not on individual trades. Projection changes can also move a price between settlements.
Not immediately, and never for you. There is no per-trade price impact. In leagues using demand, heavy ownership raises the price at the next weekly recalculation -- and your own shares are excluded when your position is valued, so you cannot inflate your own holdings.
No. Queued buys all fill in the same run at the same price, and the order in which members fill rotates each cycle. The only ordering you control is among your own pending orders, which matters when you have queued more than your cash covers.
Probably not. Buys queue by design and fill at the next run. A sell or cover of a player who has already played this week also waits, until after the weekly close. You can cancel a pending order any time before it fills.
Free to play, and no. Balances are BallStreet Bucks with no cash value and the app processes no payments. If your league collects dues, the commissioner handles that outside the app.
Yes. Create an API key at https://ballstreetleague.com/dashboard/api-keys/ and connect the ballstreet-mcp server. A read-only key lets an assistant explain your league without being able to trade. Keys that can trade mark your team with a visible BOT tag.