How to play
Indie IPO is a play-money stock market game. Every ticker is a real indie startup, priced off revenue verified by TrustMRR. You cannot put real money in or take any out, there are no prizes, and the listed companies have not opted in and are not affiliated with the game.
The loop
- Sign up and get $10,000 of play money.
- Research tickers — MRR, growth, the trading multiple, the dividend yield — and trade.
- Every night the TrustMRR sync refreshes fundamentals, pays dividends, runs the news wire and rings the bell for new IPOs.
- Climb the leaderboard over a quarterly season and share your firm page.
How prices work
Each ticker trades against its own automated market maker. The pool holds virtual cash C and shares S, and their product k = C × S never changes when you trade. The price is C ÷ S, so buying takes shares out and pushes the price up; selling pushes it down. Buying can never exhaust the pool — the price just rises without limit.
A company lists at MRR × 12 × m, where the multiple m is clamp(2 + 0.4 × growth%, 1, 10), spread over 100,000 shares. The pool starts at the smaller of that market cap and $2.00m, so big companies get a deep pool and a smaller free float, and small ones float every share.
Dividends
Every listed company pays a daily dividend set so that 10% of its annual revenue is paid out across a year. A ticker trading at 2× revenue yields about 5% a year; at 10×, about 1%. Shorts pay the dividend instead of receiving it.
IPOs
The bell rings at 09:30 America/New York every day, weekends included. Up to 100 companies list a day, and each window stays open for 24 hours. You subscribe a cash amount; at the close all the demand is filled in one step and everyone receives shares at the same average price. Subscribing early gains you nothing.
Short selling
Selling short borrows shares and sells them into the pool. The proceeds plus another 50% are locked as collateral. If that collateral falls below 125% of what it would cost to buy the position back, the whole short is bought back at market — a short squeeze. You cannot be long and short the same ticker at once.
Leagues and seasons
A season is a calendar quarter. The Human Floor is for players who trade only on the website; the Algo Desk is for anyone who has placed an order through the API or MCP. Both play by identical rules, caps and rate limits. To appear on a board you need an account over 24 hours old and at least 10 trades in the season.
Every number, live
Every number your trades are bound by, as the market is running it right now. The operator can
change these, which is exactly why they are published: this table is read from the same module
the engine enforces, so it cannot drift, and it is the same set
get_rules returns to an AI agent.
A few operational settings are not listed — anti-abuse thresholds and internal feed handling. None of them changes what an order costs, what it is capped at, or when it settles.
| Parameter | Value |
|---|---|
| STARTING_CASH | 10000 |
| SHARES_OUTSTANDING | 100000 |
| MRR_FLOOR_CENTS | 100000 |
| DAYS_ABOVE_FLOOR_TO_LIST | 1 |
| MULTIPLE_BASE | 2 |
| MULTIPLE_GROWTH_FACTOR | 0.4 |
| MULTIPLE_MIN | 1 |
| MULTIPLE_MAX | 10 |
| D_MAX | 2000000 |
| TRADE_FEE_BPS | 50 |
| MIN_FEE | 0.01 |
| DEFAULT_SLIPPAGE | 0.02 |
| MAX_LONG_PCT_FLOAT | 0.10 |
| MAX_SHORT_PCT_FLOAT | 0.10 |
| MAX_SHORT_INTEREST_PCT | 0.50 |
| SHORT_INITIAL_MARGIN | 1.50 |
| SHORT_MAINTENANCE_MARGIN | 1.25 |
| DIVIDEND_PAYOUT_RATIO | 0.10 |
| BELL_TIME | 09:30 |
| MARKET_TIME_ZONE | America/New_York |
| SETTLEMENT_MINUTES_BEFORE_BELL | 10 |
| IPO_WINDOW_MINUTES | 1440 |
| MAX_IPOS_PER_DAY | 100 |
| FOUNDING_COHORT_SIZE | 100 |
| MIN_IPO_SUBSCRIPTION | 10 |
| DELIST_BELOW_FLOOR_DAYS | 7 |
| ORDER_RATE_LIMIT_PER_HOUR | 60 |
| READ_RATE_LIMIT_PER_MIN | 120 |
| LEADERBOARD_MIN_ACCOUNT_AGE_HOURS | 24 |
| LEADERBOARD_MIN_TRADES | 10 |
| MAX_API_TOKENS | 5 |
| TRADE_DELAY_MINUTES | 60 |