Sports picks, priced by our model with the chance to hit and our price: free to read every day, or in your trading bot, your AI agent or anything you build.

Every pick comes with our model's chance to hit and its fair price: our price. Read today's 16 picks free with an account, follow every market in play on the live cards with a membership, or pull the same numbers into your bot or AI agent over the API. You check the live price on the venue and decide; MintSlips never places a bet.

  • Read-only: never places bets
  • Our numbers are model estimates
  • Information only · 21+

Free · Member $25/mo · Pro $79/mo See pricing →

How it fits: our model is one input. Your harness decides and trades on your own account.

See all five exhibits →

Sportsfree picks and live cards
  • FootballPicksLive cards
  • HockeyPicks
  • BaseballPicks
  • BasketballComing soon
  • College footballLive scores
  • MMAComing soon

Picks are priced by our own model and link to their Kalshi market by ticker; MintSlips does not show Kalshi's prices. Prices from US state-licensed sportsbooks are shown on the site for comparison (not through the API); Polymarket US is linked where it lists the same market. Names are trademarks of their respective owners. MintSlips is not affiliated with or endorsed by any of them.

Our numbers, your price check

Not just picks. The model's own price on every live market.

During a game the model prices every live market it covers, and each live card lists them all. Each side of each market carries the model's chance and its fair price: our price. You, your bot or your agent look up the live price on the venue and compare.

  1. Model chancethe model's chance for the YES side
    70.1%
  2. Our pricethe chance in cents: fair_price
    70.1¢
  3. Exchange feethe venue's published taker fee formula
    ≤2¢
  4. Live priceyours to look up on the venue, by kalshi_ticker
    you
Youyour botyour AI agent trade on your own account

The chance and our price are the model's estimates at the moment the card is checked, not a guarantee. MintSlips does not show or relay the venue's price and never places a trade.

Model accuracy

How often our chances came true.

Every side our live catalog shows, graded from official results: how often it hit beside the chance we gave it, in a backtest and live. Every free pick is on the results page.

Model accuracy NFLhit rate vs our chance · official results
In the backtest, the sides we showed hit 92.5% against the 91.1% we predicted: +1.4 pts (95% interval +0.3 to +2.4 pts), above our own chance.
Backtest above our chance09/09/26–10/19/26
92.5%hit · predicted 91.1%
+1.4 pts · 95% interval +0.3 to +2.4 pts
4,608 sides · 93 games
Live above our chancesince 10/18/26
95.0%hit · predicted 92.7%
+2.4 pts · 95% interval +1.3 to +3.3 pts
3,092 sides · 28 games
0+11= our chanceBacktest 57-80%: hit 71.3% vs 64.0% predicted (348 sides)Live 57-80%: hit 75.6% vs 64.2% predicted (90 sides)57-80%Backtest 80-90%: hit 92.5% vs 84.8% predicted (40 sides)80-90%Backtest 90-92%: hit 94.8% vs 91.5% predicted (251 sides)90-92%Backtest 92-93%: hit 93.5% vs 92.5% predicted (1,350 sides)Live 92-93%: hit 94.6% vs 92.5% predicted (926 sides)92-93%Backtest 93-94%: hit 94.1% vs 93.5% predicted (1,344 sides)Live 93-94%: hit 96.3% vs 93.5% predicted (979 sides)93-94%Backtest 94-95%: hit 95.1% vs 94.5% predicted (1,275 sides)Live 94-95%: hit 96.0% vs 94.5% predicted (1,081 sides)94-95%our chance
hit rate minus our chance, in points, by our chance · hollow = backtest, filled = live · above the line = hit more often than we said
Bet typeBacktest hit / ours · sidesgap [95%]Live hit / ours · sidesgap [95%]
Receptions94.3% / 93.5% · 1,819+0.8 [−0.6 to +2.2 pts]94.9% / 93.5% · 701+1.3 [−1.0 to +3.2 pts]
Receiving yards92.7% / 93.5% · 992−0.8 [−3.1 to +1.6 pts]94.3% / 93.5% · 917+0.9 [−1.5 to +3.1 pts]
Anytime touchdown95.0% / 93.4% · 753+1.5 [+0.1 to +2.9 pts]97.2% / 93.7% · 564+3.4 [+2.2 to +4.5 pts]
Team sacks95.0% / 92.4% · 575+2.5 [+0.1 to +4.6 pts]––
Pass attempts77.8% / 70.8% · 469+7.0 [+0.8 to +13.2 pts]79.5% / 69.5% · 112+10.0 [−0.2 to +19.8 pts]
Rushing yards––95.6% / 93.5% · 434+2.1 [−0.2 to +4.1 pts]
Passing yards––98.4% / 93.6% · 125+4.8 [+2.4 to +6.5 pts]
All shown sides92.5% / 91.1% · 4,608+1.4 [+0.3 to +2.4 pts]95.0% / 92.7% · 3,092+2.4 [+1.3 to +3.3 pts]

Our models were upgraded on 10/25/26 and we keep improving them. Each new model is tested on games it has not seen before it goes live.

A side counts once, the first time our chance enters the range the live catalog shows it in: 57–95% for pass attempts (over), 91–95% for team sacks (under) and 92–95% for every other side. Backtest: this season's games replayed before the models went live. Live: the live catalog as published, graded from official results. The 95% interval resamples whole games, since sides within one game are not independent. The shown ranges were set from these same weeks, so games from 10/25/26 on are their out-of-sample test. Bet types with fewer than 100 sides are in the total only. Past results don't predict future results.

See the full record and every pick on the results page →
Pricing

Pick a plan.

Monthly, in US dollars. Cancel any time from Manage billing on the picks page.

Free
$0

Today's picks and every pregame market on the site, and a starter API key.

  • all 16 daily picks, every leg site
  • every pregame market our models price site
  • 100 calls a day API
  • live cards delayed 15 minutes API
  • MCP access
  • personal use
Create a free account
Live cards included
Member
$25 /mo

The live cards: the sides our model rates most likely in each game, with our chance and our price, re-checked every minute while the game is on.

  • live cards in play, in real time site API
  • every pregame market our models price (/catalog) API
  • graded results (/results) API
  • 1,000 calls a day API
  • MCP access
  • personal use
Get Member
Pro
$79 /mo

Everything in Member, plus:

  • real-time stream and webhooks API
  • history export API
  • 10,000 calls a day API
  • commercial use of our numbers, with credit

Credit wherever our numbers are shown (terms §20): “Data: MintSlips”, linked to mintslips.com, with the statement that it is information only and not betting advice.

Get Pro
Commercial
Contact us
  • custom volume and terms

Pro covers, with your own keys and the “Data: MintSlips” credit:

  • showing our numbers publicly: a site, an app, a Discord or Telegram channel
  • using them in a product or service you offer, free or paid
  • using them for or within your organization

Commercial is a written agreement for what Pro doesn't cover:

  • higher volume
  • licensing our data as data (a dataset, data feed or API)
  • operator use (a sportsbook, exchange, or DFS or pick'em operator)
  • display without credit

Never included: third-party data (sportsbook prices, venue links, scores). Anything else: ask us. Terms §20 →

Write to mintslips1@gmail.com with your expected volume (calls a day), what you'll use our numbers for, and where they'll be shown.

Email us
For developers

The same numbers, for your code.

A REST API and an MCP server: every pick, every pregame market and every live market the model prices, with its chance and our price. Read-only; it never places a trade.

Works with Claude Code Claude Desktop Claude.ai ChatGPT any MCP client plain REST
What you can build

Your bot. Your rules. Our live model.

MintSlips never trades for anyone. The API gives you every live market the model prices, with its own chance and price; what you do with them is yours to build.

Featured idea

An auto-trading bot on the live markets

Read the live cards, keep the markets whose model chance clears your own threshold, fetch the live price yourself from the venue's public market data by ticker, and send the order from your code to your own exchange accounts. The track record above shows how the model's chances have held up, graded from official results.

import os, time, requests

H = {"Authorization": f"Bearer {os.environ['MINTSLIPS_KEY']}"}
URL = "https://api.mintslips.com/api/v1/live"

while True:
    cards = requests.get(URL, headers=H, params={"min_chance": 0.55}).json()["cards"]
    for card in cards:
        for m in card.get("markets", []):
            for side in ("yes", "no"):
                s = m.get(side)
                if s and s["chance"] >= 0.55:
                    # check the live price yourself; your account, your call
                    my_place_order(m["kalshi_ticker"], side, chance=s["chance"])
    time.sleep(90)

Call budget: one call every 90 seconds is 960 calls a day, inside Member's 1,000 (Free is 100 a day, Pro 10,000). Add sport or game_id to the query to fetch only the games you follow.

my_place_order is yours to write against your own exchange account, including the live price lookup. /api/v1/live filters by sport, game, stat, player and chance; Pro adds the stream and webhooks for updates.

Your logic on top

Filter to the markets you trust: a model-chance floor, only some sports, only late in games. Add your own model as a second opinion and size with your own bankroll rule.

/live/board

Instant alerts

Ping a Discord, Telegram or phone the moment a live market's model chance moves past your threshold, with the chance and our price.

/streamwebhooks

Price checker

Before you place anything, send the odds you're offered and get back whether they're under our price after the fee.

/checkcheck_price

Ask your agent

"Which live markets have a model chance over 60% right now, and what's MintSlips' price?" Claude or ChatGPT answers from the MCP tools, in plain English, with the numbers.

MCPget_live_cardscheck_price

Research and backtests

Pull graded results and monthly history to test your own filters, check the model's calibration, or compare your fills with our prices.

/results/history/export

Exposure tracker

Log what you've taken and cap how much rides on one direction in one game, so a run of similar bets can't stack up the same risk.

/liveyour fills
How it works

From key to live model prices in one call.

Get a key

Sign in on mintslips.com and create an API key on the developers page. It's shown once; keep it secret.

Call the API or connect MCP

Fetch the board over REST, or add the MCP server so your agent can call the tools itself.

You, your bot or your agent trades

Chance to hit and fair price for every pick and live market, and the market's ticker and link. You check the live price on the venue; the trade is yours to place, on your own account.

One request

Today's board, as JSON.

One authenticated GET returns every pick with its numbers. Same data the picks page shows, shaped for code.

# today's board
curl https://api.mintslips.com/api/v1/board \
  -H "Authorization: Bearer $MINTSLIPS_KEY"
  • probThe stated chance every leg hits, 0 to 1.
  • fair_centsThe fair price of a $1 contract at that chance.
  • legsEach leg's description and its own chance.
  • disclaimerOn every response. Estimates, not guarantees.
Works with your agent

One MCP server. Three ways in.

Your agent gets eight read-only tools. None of them can place or automate a bet. They can hand you a link to the market's page on a venue; any bet is up to you.

API key

Claude Code

One command adds the server with your key.

claude mcp add --transport http mintslips \
  https://api.mintslips.com/mcp \
  --header "Authorization: Bearer ms_live_…"
API key

Claude Desktop

Through mcp-remote, in claude_desktop_config.json.

{
  "mcpServers": {
    "mintslips": {
      "command": "npx",
      "args": ["-y", "mcp-remote",
        "https://api.mintslips.com/mcp",
        "--header", "Authorization:${AUTH_HEADER}"],
      "env": { "AUTH_HEADER": "Bearer ms_live_…" }
    }
  }
}
Sign in

Claude.ai and ChatGPT

Add a custom connector with this URL, then sign in with your MintSlips account. No key to paste.

https://api.mintslips.com/mcp
Tools: get_boardget_pickget_catalogget_live_cardscheck_pricesize_betget_resultsexplain_pick Full setup in the docs →
What you get

The numbers behind every pick.

Board

Today's picks with chance to hit, fair price and the legs.

Live cards

Every market the model prices for each game, with our chance and our price, re-checked every minute. Compare with the live venue price yourself.

Price check

Send the odds you're offered; get back whether they are under our price after the fee.

Results

Every graded pick by day: hits, misses and voids alike.

Streaming and webhooksPro

New picks, live changes and gradings pushed as they happen.

History exportPro

A month of picks as NDJSON in one download.

GET/api/v1/boardToday's picks, or a past day's graded picksall tiers
GET/api/v1/catalogEvery pregame market our models price today, both sides, chance and our priceMember and Pro
GET/api/v1/liveEvery live market the model prices, with its chance and our pricefree: 15 min delay
POST/api/v1/checkIs an offered price under our price after the fee?all tiers
POST/api/v1/sizeUnits at a price you enter: fee, expected value and size, an estimateall tiers
GET/api/v1/resultsGraded picks, up to 31 days a callMember and Pro
GET/api/v1/streamServer-sent events as things changepro
GET/api/v1/history/exportA month of picks and results as NDJSONpro
Start free

Get an API key
in a minute.

Make a free account, then create your key on the developers page. Get a free API key →

Information only, not betting advice. 21+.

Today's picks

All 16, free with an account, each with its chance and fair price.

See today's picks →