The round protocol
A round is five minutes long and runs continuously — about 270 of them a day. Every round follows exactly the same clock, and every model in it works to the same deadline.
- Publishes the round: asset, entry price, the 180 one-minute candles every model will see, and the exact expiry second.
- Sends one identical call to all fifteen models through the same code path — same temperature, same token cap, same timeout.
- Places each trade the moment its model replies, setting the duration at that instant so every trade in the round expires together.
- The chart, the countdown, and how many models have already committed.
- Your own call, if you want one — it is logged next to theirs and scored the same way.
- Never which way any model went. That field does not exist in the payload yet.
- Stops accepting viewer calls thirty seconds before expiry.
- Refuses any model answer that arrives with less than thirty seconds left — a trade that short is a different bet.
- The countdown switches to the locked state and the two buttons go quiet.
- The committed count is final. The split — how many said up — is still hidden.
- Reads the close from the broker, not from our own feed.
- Publishes every direction and every rationale at once — the sentence each model wrote before the outcome was known, stored unedited.
- The full board for the round: who called up, who called down, who said nothing.
- Your own call scored against the same close, on the same terms.
- Waits for a close event per account, then reads back the balance the broker reports — never accumulated locally.
- Applies the broker's payout on a win, the full stake on a loss, and returns the stake on a draw.
- Balances, ROI, hit rate and streaks update on the leaderboard.
- The round drops into History with its full fifteen-cell answer strip.
- Closes the round record and opens the next one. About 270 rounds a day, no market close, no overnight gap.
- The next countdown starts. Nothing carries over except the balances.
Identical inputs
A benchmark where the flagship gets a richer prompt than the budget model measures the prompt, not the model. So there is exactly one prompt, published here in full — the same text the API sends, character for character.
You are a participant in a public forecasting benchmark. You will be shown recent one-minute candles for a single asset and asked which way the price will move over a fixed, short horizon. Answer with a single JSON object and nothing else: {"direction": "up" | "down", "rationale": "<one short sentence>"} Rules: - "direction" must be exactly "up" or "down". No neutral option, no abstention. - "rationale" must be at most 280 characters, in English, and must state your actual reason. - No markdown, code fences, disclaimers, or any text outside the JSON object. - A short-horizon call like this is close to a coin flip. Commit to one side anyway; hedged answers are discarded.
Asset: BTC/USD Current price: 118412.50 Horizon: 5 minutes from now. Last 180 one-minute candles (UTC, oldest first): 14:32 O 118380.0 H 118421.5 L 118376.0 C 118402.0 14:33 O 118402.0 H 118433.0 L 118398.5 C 118427.5 … 14:51 O 118401.0 H 118419.0 L 118395.5 C 118412.5 Will the price at the end of the horizon be above or below 118412.50? Reply with the JSON object only.
| PARAMETER | VALUE | WHY |
|---|---|---|
| Provider | OpenRouter | One key, one request format, one bill — and one identical code path for all fifteen models. |
| Temperature | 0.3 | Low but not zero. Identical for every model; nobody gets tuned. |
| Reasoning | disabled | The task is a direction plus one sentence. Extended thinking would change cost and latency per vendor, not accuracy on a coin-flip horizon. |
| Max output tokens | 320 | Enough for the JSON object and a 280-character rationale. |
| Response window | 45 s | Hard abort. Missing it costs that model the round, and nobody else. |
| Calls per round | 1 per model | The answer is cached and served to every visitor — no re-rolls, no best-of-N. |
| Prompt version | 2026-07-16.1 | Pinned. Any edit to the text above bumps it, because rounds are only comparable within one version. |
"up" or "down". Anything else is a skipped round, never a guess made on the model's behalf.
Trades and settlement
Calls are not scored against our price feed — they are placed as real trades on real demo accounts and settled by the broker. The leaderboard reads the balance the broker reports.
| CONDITION | VALUE | NOTE |
|---|---|---|
| Accounts | 15, one per model | Sharing an account would make the ranking meaningless, so each model trades alone. |
| Starting balance | $50,000 virtual | Identical for all fifteen. Reset at the start of each season. |
| Stake | $10 per round | Fixed. No sizing, no compounding, and no sitting out a round on low conviction. |
| Instrument | BTC/USD, 5-min expiry | Trades around the clock, so there is no “market closed” gap in the record. |
| Direction | up → call, down → put | A direct translation of the model's word. Nothing is filtered or overridden. |
| Outcome | broker close event | Win, loss or draw exactly as the broker settled it. |
| Balance | read back per round | Pulled from the broker after every round, per account — never accumulated locally. |
Money is virtual and it stays virtual. The arena has no real-money account, takes no positions, and nothing on this site can be traded. What you are watching is fifteen demo accounts being driven by fifteen language models.
How the score is computed
Every figure on the leaderboard comes from these four lines. There is no composite index and no weighting anyone could tune.
Provider and tier rows
The Providers and Tiers views are not averages of ROI. A group's balance is the sum of its accounts and its baseline is the sum of their starting balances, so its ROI is the return of a portfolio holding all of them — the number you would get by putting equal money behind each of its models. Averaging percentages instead would let one small account swing a provider's headline figure.
| VIEW | ROWS | AGGREGATION |
|---|---|---|
| Models | 15 | The account itself. |
| Providers | 5 | Σ balances ÷ Σ baselines ($150,000 per provider); hit rate from Σ correct and Σ missed. |
| Tiers | 3 | The same arithmetic, grouped TOP / MID / ECO across all five providers ($250,000 per tier). |
Seasons
A season runs 30 days, then every account resets to $50,000 and the board starts over. A season also ends early if any account falls below $200 — twenty times the stake — a model that can no longer cover the stake would silently drop out of the benchmark, and a benchmark with a missing competitor is worse than one that restarts. Past seasons keep their records; the sparkline on the board covers the last 20 settled rounds.
Break-even is not 50%
A winning trade returns less than a losing one costs. So the number a hit rate has to be read against is not a coin flip — it is the payout.
Skipped rounds
A round can end without a trade for a model. That is recorded as a skip — not a loss, not a win, and never a direction invented on the model's behalf.
How much of this is luck
Predicting a five-minute price move is close to a coin flip, and we expect the models to be close to coin flips. The interesting question is not who is on top — it is whether the gap between top and bottom is bigger than chance would produce anyway. Usually it is not.
What that means for the board
- The top row is the maximum of fifteen noisy numbers. Even if every model were a coin flip, one of them would finish first — and its hit rate would look convincingly above 50%. The calculator above shows what that leader's score would be at any sample size.
- Rank order changes far more than skill does. Over a five-minute horizon, a day of rounds moves the board a lot and tells you very little. The season is the shortest window worth reading, and even that is thin.
- “More expensive ≠ more accurate” is a hypothesis being tested in public, not a result we are claiming. Tiers are grouped precisely so the comparison can be made honestly, including when it shows no difference at all.
- Nothing here forecasts the next round. A model's record is a record. The arena publishes it because it is checkable, not because it predicts anything.
Check it yourself
A methodology page is a claim. These are the four ways to test it against what the arena actually publishes.
Something here that does not match what you see on the site is a bug worth reporting. Corrections are logged below rather than quietly applied.
Changes to the method
Anything that affects comparability — the prompt, the roster, the stake, the round length — is recorded here with the date it took effect. Rounds are only comparable within one prompt version.
-
Season S1 opened All fifteen accounts reset to $50,000. Stake $10, five-minute rounds, BTC/USD.
-
Prompt version 2026-07-16.1 First published version of the prompt in §2. Earlier internal test rounds are not part of any published record.
-
Roster: 15 models, 5 providers, 3 tiers Anthropic, OpenAI, Kimi, Qwen and DeepSeek, three tiers each. A model added mid-season starts from the current season's baseline and is marked as such on the board.
-
Answer rate published beside hit rate Skips were already excluded from hit rate but not visible on the board. The Models view now carries answer rate in the same row.
LLM Prediction Arena is an entertainment benchmark of language models, not a financial service. Model calls are not investment advice or trading signals, and are revealed only after the trade expires. The models trade exclusively on demo accounts with virtual funds, and their results guarantee nothing on a real account. Trading financial instruments carries a high risk of losing funds. 18+.