PredictionCharts
Log out Create account Log in
MEMBERS

Sign in

Access is by invitation only.

{{ loginError }}
Email
Password
MEMBERS

Create your account

We’ll email you a link to verify your address before you sign in.

{{ regError }}
First name
Last name
Email
Password
Timezone
Country
Already have an account? Sign in
📬

Check your inbox

If {{ regDoneEmail }} is a new address, we’ve sent it a link to verify your email. Click it to activate your account, then sign in.

The link expires in 48 hours. Didn’t get it? Check spam, or resend below.

Go to sign in
{{ verifyIcon }}

{{ verifyTitle }}

{{ verifyMsg }}

Sign in
ACCOUNT

Settings

Signed in as {{ setEmailCur }}.

{{ setFlashMsg }}
PROFILE
First name
Last name
Timezone
Country
EMAIL
Pending confirmation: {{ setPending }} — check that inbox for the link.
Email address

Changing this sends a confirmation link to the new address. Your current email keeps working until you confirm.

PASSWORD
Current password
New password
KALSHI API — TRADING
KEY SAVED

Connect your Kalshi API key to place orders from PredictionCharts. Your private key is encrypted at rest and only used server-side to sign your requests — it never leaves the server or appears in your browser. How to get your API key →

Trading isn’t enabled on the server yet (the settings migration and encryption key need to be in place). Once it is, this is where you’ll connect Kalshi.
API Key ID
{{ setKKeyIdVal }} SAVED
RSA Private Key (PEM)

Pasted keys are never shown back to you.

LIVE Orders are placed on your live Kalshi account (real money). Use a Production API key from kalshi.com.
TRADING

Your orders

Positions you placed through PredictionCharts, priced live from Kalshi. refreshing…

Connect your Kalshi API key in Settings to place trades and see your positions here.
{{ ordErr }}
Loading your positions…
ACTIVE POSITIONS
No active positions.
{{ p.title }} {{ p.modeTag }}
{{ p.matchup }}
{{ p.pnl }}
unrealized
{{ p.contracts }} contracts avg {{ p.avg }} now {{ p.mark }} value {{ p.value }}
HISTORY
No settled positions yet.
{{ p.title }} {{ p.modeTag }}
{{ p.contracts }} contracts · {{ p.date }}
{{ p.result }} {{ p.pnl }}
SUPPORT

Contact us

Questions, feedback, or a problem with your account? Send our staff a message and we'll get back to you at your account email — or jump into our Discord.

{{ conFlashMsg }}
SEND A MESSAGE
Subject
Message

We'll reply to the email on your account.

MEMBERS ONLY

Please register to contact our staff.

The contact form is available to registered members. Create a free account to send us a message — or reach us anytime in our Discord channel.

COMMUNITY
Join our Discord

Chat with the community, ask questions, and get help in real time.

discord.gg/QmhsdmCrYG →
GUIDE

Connect your Kalshi API key

Adding your Kalshi API key lets you place orders straight from PredictionCharts — single picks and parlays right off the strikeouts and hits boards. It takes about two minutes. Here's how.

LIVE
Create a Production API key — orders are placed on your real-money Kalshi account. A demo/paper key won't work here, because the MLB markets on these boards only exist on Kalshi's live exchange.
1
Sign in to Kalshi

Go to kalshi.com and log in to the account you want to trade from.

2
Open your Account & Security page

Go to Account & Securitykalshi.com/account/profile — then scroll to the bottom of the page to the API Keys section and click Create a key.

3
Grab your key details
IMPORTANT
Choose Full Access, not Read Only. A read-only key can't place orders, so trading from PredictionCharts won't work with it.

When you create the key, Kalshi gives you two things:

  • an API Key ID — a UUID like 00000000-0000-0000-0000-000000000000
  • an RSA private key — a .pem / .key file that downloads to your computer
SAVE IT
Kalshi shows the private key only once. Download or copy it now — if you lose it you'll have to make a new key.
4
Copy the private key text

Open the downloaded key file in any text editor and copy everything, including the header and footer lines:

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0…
…several lines of characters…
-----END PRIVATE KEY-----
5
Paste both into PredictionCharts

Head to Settings → the Kalshi API — Trading section. Paste your API Key ID in the first box and the private key in the box below it, then click Save Kalshi key. That's it — a green check confirms it's saved.

Your private key is encrypted at rest and only ever used server-side to sign your Kalshi requests. It never appears in your browser, is never shown back to you, and you can remove it anytime from Settings.
MEMBERS · ADMIN

Users

{{ adminCountLabel }} · you create every account
{{ adminFlashMsg }}
Add a user
EMAIL
NAME
TEMP PASSWORD
UserRoleStatusLast login
{{ u.name }} (you)
{{ u.email }}
ADMIN member
{{ u.statusLabel }}
{{ u.lastLogin }}
Edit / reset password ▾
EMAIL
NAME
NEW PASSWORD
— your account —
MEMBERS · ADMIN

AI API usage & balance

Estimated from the tokens we spend on each key, priced at the editable rates below. No provider exposes account balance through a standard API key — enter what you last topped up and reset the clock after each refill to track what's left.

Rates are $ per 1M tokens · adjust if a provider's pricing differs.
{{ r.label }}
{{ r.model }}
{{ r.remainBig }}
{{ r.remainNote }}
SPENT TODAY
{{ r.costToday }}
{{ r.tokToday }} tok
LAST 30 DAYS
{{ r.cost30 }}
ALL TIME
{{ r.costAll }}
{{ r.tokAll }} tok
SPENT SINCE TOP-UP
{{ r.spentSince }}
TOP-UP ($)
IN $/1M
OUT $/1M
PREDICTION MARKET ANALYTICS

Learn how the market moves, and why.

PredictionCharts analyzes Kalshi and Polymarket price history after every game, pinning each probability swing to the play that caused it — so you can see how the market reacts and place future orders with accuracy.

LIVE EXAMPLE
{{ homeTitle }}
{{ homeSub }}
implied probability  ·  real-world play
{{ homeDefaultHeaderText }}
{{ homeHomeAbbr }} {{ homeAwayAbbr }}
MLB PLAY-BY-PLAY Open full analysis →
{{ e.n }} {{ e.inning }}
{{ e.title }}
{{ e.detail }}
Score {{ e.score }}
{{ f.no }}
{{ f.title }}
{{ f.body }}
PROFESSIONAL BASEBALL · MLB

Baseball gamelines

Every game, day by day — page back through the season to any past slate. Each matchup carries Claude, ChatGPT and Grok's winner pick (green = correct, red = wrong). Click a game for its win-probability chart; sort by any column.

{{ m.name }} · {{ m.model }}
{{ m.record }}
{{ m.rate }}
Today
Loading games…
No games for this day.
# DATE{{ blHdrDate.arrow }} TIME{{ blHdrTime.arrow }} AWAY{{ blHdrAway.arrow }} HOME{{ blHdrHome.arrow }} SCORE R{{ blHdrTotal.arrow }} MARGIN{{ blHdrMargin.arrow }} STATUS{{ blHdrStatus.arrow }} VENUE AI PICKS KALSHI
{{ r.rank }} {{ r.dateCell }} {{ r.time }} {{ r.away }} {{ r.home }} {{ r.score }} {{ r.total }} {{ r.margin }} {{ r.status }} › {{ r.status }} {{ r.venue }} {{ p.abbr }}
PROFESSIONAL BASEBALL · MLB · {{ cpCrumbUpper }}

{{ cpHeading }}

{{ cpBlurb }}

Loading picks…
CLAUDE · claude-fable-5
{{ cpClaudeRecord }}
streak {{ cpClaudeStreak }}
{{ cpClaudeRate }}
CHATGPT · gpt-5
{{ cpGptRecord }}
streak {{ cpGptStreak }}
{{ cpGptRate }}
GROK · grok-4.5
{{ cpGrokRecord }}
streak {{ cpGrokStreak }}
{{ cpGrokRate }}
{{ cpLeader }}
{{ r.date }}
CLAUDE· {{ r.cVersion }} {{ r.cBadge }}
{{ r.cName }} {{ r.cMatchup }} {{ r.cLine }}
{{ r.cStatLine }}
{{ r.cReason }}
Why it missed: {{ r.cWhyMiss }}
View game chart →
CHATGPT· {{ r.gVersion }} {{ r.gBadge }}
{{ r.gName }} {{ r.gMatchup }} {{ r.gLine }}
{{ r.gStatLine }}
{{ r.gReason }}
Why it missed: {{ r.gWhyMiss }}
View game chart →
GROK· {{ r.xVersion }} {{ r.xBadge }}
{{ r.xName }} {{ r.xMatchup }} {{ r.xLine }}
{{ r.xStatLine }}
{{ r.xReason }}
Why it missed: {{ r.xWhyMiss }}
View game chart →
PROFESSIONAL BASEBALL · MLB

{{ pageHeading }}

{{ catBlurb }}

{{ koStatBoxLabel }}
{{ koAvg }}
across {{ koStarts }} {{ koUnit }} by {{ koPitcherCount }} {{ koWho }}
{{ koDistTitle }}
AI PICK OF THE DAY · CLAUDE vs CHATGPT — each picks the {{ koClaudeWho }} most likely to fill their 1st contract
View all picks →
CLAUDE
{{ koClaudeRecord }}
{{ koClaudeToday }}
{{ koClaudeRate }}
CHATGPT
{{ koChatgptRecord }}
{{ koChatgptToday }}
{{ koChatgptRate }}
GROK
{{ koGrokRecord }}
{{ koGrokToday }}
{{ koGrokRate }}
AVG CONTRACT FILL BY WEEK (1ST–5TH)
1ST-CONTRACT FILL RATE BY AVG K
How often a starter's lowest strikeout line hits, by their strikeouts per game. {{ koFillNote }}
{{ b.label }} {{ b.rate }}
2ND-CONTRACT FILL RATE BY AVG K
How often a starter's 2nd-lowest strikeout line hits, by their strikeouts per game. {{ koFillNote2 }}
{{ b.label }} {{ b.rate }}
{{ koLoadingMsg }}
{{ koEmptyMsg }}
{{ koLegend }}
Last updated {{ koUpdated }}.
{{ koRefreshNote }}
Today
# {{ koNameHdr }}{{ koArrowName }} AWARDS TEAM{{ koArrowTeam }} {{ koGsHdr }}{{ koArrowGs }} {{ koAvgHdr }}{{ koArrowAvg }} {{ koRateHdr }}{{ koArrowEra }} {{ koTotHdr }}{{ koArrowSeasonK }} CUSH{{ koCushArrow }} OPP K{{ koOppKArrow }} FLOOR{{ koFloorArrow }} STREAK{{ koStreakArrow }} {{ mh.label }}{{ mh.arrow }}
{{ r.rank }} {{ r.selMark }} {{ r.name }} DEBUT {{ r.pos }} {{ r.todayPill }} {{ r.awardCell }} {{ r.team }} {{ r.starts }} {{ r.avg }} {{ r.era }} {{ r.seasonK }} {{ r.cushion }} {{ r.oppK }} {{ r.floor }} {{ r.streakLabel }} {{ m.v }}{{ m.open }}
Showing {{ koRangeFrom }}–{{ koRangeTo }} of {{ koTotal }}
{{ pg.label }}
{{ tkLeagueLabel }}
{{ tkLeagueAvg }}
across {{ tkTeamCount }} teams · {{ tkTotalK }} {{ tkTotalLabel }}
Loading teams…
No team data available.
Season totals · last updated {{ tkUpdated }}.
# TEAM{{ tkArrowTeam }} {{ tkAvgHdr }}{{ tkArrowAvg }} GAMES{{ tkArrowGames }} {{ tkTotHdr }}{{ tkArrowSeasonK }}
{{ r.rank }} {{ r.abbr }} {{ r.name }} {{ r.avg }} {{ r.games }} {{ r.seasonK }}
MENTIONS
{{ mnCount }}
MARKETS OFFERED
{{ mnTotalMarkets }}
OVERALL HIT RATE
{{ mnHitRate }}
Last updated {{ mnUpdated }}.
Today
Loading mentions…
{{ mnDayHeading }}
{{ mnDaySummary }}
No mentions on this day.
#MENTIONRESULTSTREAKMARKETS{{ mnDayPriceHdr }}
{{ r.rank }} {{ r.selMark }} {{ r.word }} {{ r.resultLabel }} {{ r.streakLabel }} {{ r.count }} {{ r.price }}
No mentions found.
# MENTION{{ mnArrowWord }} WON{{ mnArrowWins }} MARKETS{{ mnArrowShown }} WIN%{{ mnArrowPct }} STREAK{{ mnArrowStreak }} DAYS{{ mnArrowDays }} LIQUIDITY{{ mnArrowLiq }} AVG{{ mnArrowPrice }}
{{ r.rank }} {{ r.word }} {{ r.activePill }} {{ r.wins }} {{ r.shown }} {{ r.winPct }} {{ r.streakLabel }} {{ r.days }} {{ r.liq }} {{ r.liqChange }} {{ r.avgPrice }}
AVERAGE MARKET MOVE AFTER A {{ catSingularUpper }}
{{ studyMove }} batting team win probability
{{ studyBefore }} {{ studyAfter }}
avg of {{ studyN }} {{ catLabelLower }} with market data
Loading {{ catLabelLower }}…
No {{ catLabelLower }} found.
{{ p.n }}
{{ p.batter }}
{{ p.desc }}
{{ p.awayAbbr }} @ {{ p.homeAbbr }}
{{ p.inning }} · {{ p.date }}
Showing {{ catRangeFrom }}–{{ catRangeTo }} of {{ catTotal }}
{{ pg.label }}
KALSHI MENTION MARKET · MLB
Loading mention…
Mention not found.
{{ mdRank }}

{{ mdWord }}

Rank #{{ mdRank }} of all Kalshi MLB mentions
{{ mdActivePill }}
WON
{{ mdWins }}
MARKETS
{{ mdShown }}
WIN%
{{ mdWinPct }}
LIQUIDITY
{{ mdLiq }}{{ mdLiqChange }}
AVG ENTRY
{{ mdAvg }}
FILLED IN
{{ mdFilledCount }}/{{ mdGameCount }}
GAMES OFFERED · {{ mdGameCount }} — click a game to open its chart
{{ g.date }} {{ g.matchup }} {{ g.fillLabel }} {{ g.viewLabel }}
STARTING PITCHER · STRIKEOUTS · MLB
Loading pitcher…
Pitcher not found.
{{ pdRank }}

{{ pdName }} {{ pdTeam }}

Rank #{{ pdRank }} of MLB starting pitchers by strikeouts per start
{{ pdTodayPill }}
GS
{{ pdStarts }}
AVG K / START
{{ pdAvg }}
ERA
{{ pdEra }}
TOT K · SEASON
{{ pdSeasonK }}
{{ pdCurLabel }}
{{ pdCurLen }}starts
{{ pdCurSpan }}
{{ pdStreakLabel }}
{{ pdStreakLen }}starts
{{ pdStreakSpan }}
{{ pdSubLabel }}
{{ pdSubLen }}starts
{{ pdSubSpan }}
AWARDS & HONORS · {{ pdAwardTotal }} total, per MLB records
🏆 {{ a.label }} {{ a.seasons }}
OTHER MLB HONORS
{{ a.label }} {{ a.seasons }}
MINOR LEAGUES & PROSPECT
{{ a.label }} {{ a.seasons }}
● LIVE {{ pdLiveScore }} {{ pdLiveState }} · {{ pdLiveOuts }} View game →
STRIKEOUTS NOW
{{ pdLiveK }}
{{ pdLiveLine }}
{{ l.label }}
STARTS · {{ pdGameCount }} — green line = struck out that many · ¢ above = yes-ask at first pitch · gray below = volume · click a game for its chart
{{ g.date }} {{ g.matchup }} {{ g.k }} K {{ l.open }}{{ l.label }}{{ l.vol }}
BATTER · HITS · MLB
Loading batter…
Batter not found.
{{ bdRank }}

{{ bdName }} {{ bdTeam }} · {{ bdPos }}

Rank #{{ bdRank }} of MLB batters by hits per game
{{ bdTodayPill }}
G
{{ bdStarts }}
AVG H / GAME
{{ bdAvg }}
AVG
{{ bdEra }}
TOT H · SEASON
{{ bdSeasonK }}
CONTRACT FILL RATE · how often each hits line settled yes, over all {{ bdStarts }} games
MARKETFILLED / GCT/GRATE
{{ m.line }} {{ m.ratio }} {{ m.perGame }} {{ m.pct }}
{{ bdCurLabel }}
{{ bdCurLen }}games
{{ bdCurSpan }}
LONGEST 1+ HIT STREAK
{{ bdStreakLen }}games
{{ bdStreakSpan }}
LONGEST HITLESS SLUMP
{{ bdSlumpLen }}games
{{ bdSlumpSpan }}
AWARDS & HONORS · {{ bdAwardTotal }} total, per MLB records
🏆 {{ a.label }} {{ a.seasons }}
OTHER MLB HONORS
{{ a.label }} {{ a.seasons }}
MINOR LEAGUES & PROSPECT
{{ a.label }} {{ a.seasons }}
● LIVE {{ bdLiveScore }} {{ bdLiveState }} · {{ bdLiveOuts }} View game →
HITS NOW
{{ bdLiveH }}
{{ bdLiveLine }}
{{ l.label }}
GAMES · {{ bdGameCount }} — each hit shown by inning, RBI and type; click the matchup for its chart
{{ g.date }} {{ g.matchup }} {{ g.k }} H {{ h.text }}
Loading game…
Could not load this game.
{{ evAway }} @ {{ evHome }}
LIVE
{{ evSub }}
{{ evAwayAbbr }}
{{ evAwayScore }}
{{ evHomeAbbr }}
{{ evHomeScore }}
{{ i.n }} R H E
{{ lsAwayAbbr }} {{ c.v }} {{ lsAwayR }} {{ lsAwayH }} {{ lsAwayE }}
{{ lsHomeAbbr }} {{ c.v }} {{ lsHomeR }} {{ lsHomeH }} {{ lsHomeE }}
HITS OVERLAY {{ evBatterName }} — {{ evBatterHitsLabel }} · the blue lines mark where each hit happened
{{ hpDefault }}
{{ evHomeAbbr }} {{ evAwayAbbr }}
{{ cardNum }} {{ cardInning }}
{{ cardTitle }}
{{ cardBefore }}% {{ cardAfter }}% {{ cardMove }}
{{ mentTipWord }}
said {{ mentTipTime }}
MARKET PRICE HISTORY Coming soon — awaiting Kalshi / Polymarket price data for this game. The play-by-play below is live from the database.
PLAY-BY-PLAY TIMELINE
{{ e.n }} {{ e.inning }}
{{ e.title }}
{{ e.detail }}
{{ e.swing }} {{ e.moveText }}
AI MODEL PICKS
{{ ap.name }} {{ ap.badge }}
{{ ap.abbr }} {{ ap.conf }}
{{ ap.reason }}
AI MODEL PICKS
No AI picks recorded for this game.
MARKET STATS
OPEN
{{ evAwayAbbr }} {{ evOpenAway }}
{{ evHomeAbbr }} {{ evOpenHome }}
{{ s.label }}
{{ s.value }}
{{ s.sub }}
STARTING PITCHERS
{{ sp.abbr }} · {{ sp.name }}
strikeouts
{{ sp.k }} K
HOME RUNS
{{ hr.team }} · {{ hr.batter }}
{{ hr.inning }} · {{ hr.runs }} scored
{{ hr.inc }}
No home runs in this game.
MENTIONS FILLED
{{ m.word }} {{ m.time }}
{{ koTradeSelLabel }} clear
{{ koTradeModeLabel }} {{ koTradeEnvLabel }}
{{ koTradeCost }} pays {{ koTradePayout }}
{{ koTradePriceEach }}
Pricing from Kalshi…
{{ koTradeAmountLabel }}
= {{ koTradeQtyNote }}
# $
PRO BASEBALL
{{ l.matchup }} QTY+
{{ l.name }}:{{ l.line }}+ {{ l.prob }}
{{ koTradeErr }}
Real-money order — this will be submitted to your live Kalshi account.
ORDER SUBMITTED
{{ koTradeDoneCost }} cost · {{ koTradeDonePayout }} max payout
{{ rr.label }} {{ rr.detail }}
Portfolio