Kalshi prediction markets — events, series, markets, trades, and candlestick data.

MITAuto-check passedData & Analytics

Install Kalshi

skills CLI
$ npx skills add machina-sports/sports-skills --skill kalshi -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install machina-sports/sports-skills kalshi --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/machina-sports/sports-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kalshi .claude/skills/kalshi && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kalshi
GitHub stars
245
Token cost
~1.9k tokens
SKILL.md length
710 words
Files
6 (incl. scripts, references)
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Kalshi prediction markets — events, series, markets, trades, and candlestick data.

  • Works in 3 steps: search_markets --sport=nba — finds all… → Optionally add --query="Lakers" to… → Results include yes_bid, no_bid, volume…
  • : user asks about Kalshi-specific markets
  • SKILL.md covers Quick Start, CRITICAL: Before Any Query, Important Notes and Workflows, plus 4 more sections
  • Runs Shell scripts from its folder

What it does

Kalshi is an agent skill from machina-sports/sports-skills. Kalshi prediction markets — events, series, markets, trades, and candlestick data. Public API, no auth required for reads. US-regulated exchange (CFTC). Covers football (EPL, UCL, La Liga), basketball, baseball, tennis, NFL, hockey event contracts. Use when: user asks about Kalshi-specific markets, event contracts, CFTC-regulated prediction markets, or candlestick/OHLC price history on sports outcomes. Don't use when: user asks about actual match results, scores, or statistics — use the sport-specific skill…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/api-reference.md`, `references/api.md` and `references/commands.md`).

It sits in Data & Analytics, covering Statistics. It works with Kalshi and Polymarket. The repository describes itself as: Open-source agent skills for live sports data and prediction markets. Football, F1, Kalshi, Polymarket. Zero API keys. SKILL.md format. The licence is MIT.

When your agent uses it

  • : user asks about Kalshi-specific markets
  • Event contracts
  • CFTC-regulated prediction markets
  • Candlestick/OHLC price history on sports outcomes

Example prompts

  • “t use for general”
  • “/kalshi”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. search_markets --sport=nba — finds all open NBA markets.
  2. Optionally add --query="Lakers" to filter by keyword.
  3. Results include yes_bid, no_bid, volume for each market.

What it can do on your machine

Read from SKILL.md and the folder at commit 0420a7c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kalshi loads about 1.9k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 238 tokens; SKILL.md has 710 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~238
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from machina-sports/sports-skills at commit 0420a7c, republished under its MIT licence (© machina-sports). 710 words, ~1,876 tokens.

Download SKILL.mdSave it as .claude/skills/kalshi/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
kalshi
description
Kalshi prediction markets — events, series, markets, trades, and candlestick data. Public API, no auth required for reads. US-regulated exchange (CFTC). Covers football (EPL, UCL, La Liga), basketball, baseball, tennis, NFL, hockey event contracts. Use when: user asks about Kalshi-specific markets, event contracts, CFTC-regulated prediction markets, or candlestick/OHLC price history on sports outcomes. Don't use when: user asks about actual match results, scores, or statistics — use the sport-specific skill: football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), golf-data (golf), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), or fastf1 (F1). Don't use for general "who will win" questions unless Kalshi is specifically mentioned — try polymarket first (broader sports coverage). Don't use for news — use sports-news instead.
license
MIT
metadata.author
machina-sports
metadata.version
0.2.0

Kalshi — Prediction Markets

Before writing queries, consult references/api-reference.md for sport codes, series tickers, and command parameters.

Quick Start

Prefer the CLI — it avoids Python import path issues:

bash
sports-skills kalshi search_markets --sport=nba
sports-skills kalshi get_todays_events --sport=nba
sports-skills kalshi get_sports_config
sports-skills kalshi get_markets --series_ticker=KXNBA --status=open

Python SDK (alternative):

python
from sports_skills import kalshi

kalshi.search_markets(sport='nba')
kalshi.search_markets(sport='nba', query='Lakers')
kalshi.get_todays_events(sport='nba')
kalshi.get_sports_config()
kalshi.get_markets(series_ticker="KXNBA", status="open")

CRITICAL: Before Any Query

CRITICAL: Before calling any market endpoint, verify:

  • The sport parameter is always passed to search_markets and get_todays_events for single-game markets.
  • Prices are on a 0-100 integer scale (20 = 20% implied probability) — do not treat as American odds.
  • status="open" is used when querying markets to exclude settled/closed markets.

Without the sport parameter:

WRONG: search_markets(query="Leeds")           → 0 results
RIGHT: search_markets(sport='epl', query='Leeds') → returns all Leeds markets

Important Notes

  • On Kalshi, "Football" = NFL. For football/soccer (EPL, La Liga, etc.), use sport codes: epl, ucl, laliga, bundesliga, seriea, ligue1, mls, worldcup.
  • Formula 1 uses sport code f1 (drivers'/constructors' champion plus per-Grand-Prix race, podium, pole, fastest-lap, head-to-head and sprint series).
  • Market tickers are not always <event_ticker>-<suffix>. Kalshi mints some with a different stem, e.g. KXATP-26-SHA sits inside event KXATP-26USO (2026 US Open men's singles) next to KXATP-26USO-SIN. That is Kalshi's real ticker: pass it verbatim to get_market, and group markets by their event_ticker field, never by parsing the ticker.
  • Prices are probabilities. A last_price of 20 means 20% implied probability. Scale is 0-100 (not 0-1 like Polymarket).
  • Always use status="open" when querying markets, otherwise results include settled/closed markets.
  • Shared interface with Polymarket: search_markets(sport=...), get_todays_events(sport=...), and get_sports_config() work the same way on both platforms.

Workflows

  1. search_markets --sport=nba — finds all open NBA markets.
  2. Optionally add --query="Lakers" to filter by keyword.
  3. Results include yes_bid, no_bid, volume for each market.
Today's Events
  1. get_todays_events --sport=nba — open events with nested markets.
  2. Present events with prices (price = implied probability, 0-100 scale).
Futures Market Check
  1. get_markets --series_ticker=<ticker> --status=open
  2. Sort by last_price descending.
  3. Present top contenders with probability and volume.
Market Price History
  1. Get market ticker from search_markets --sport=nba.
  2. get_market_candlesticks --series_ticker=<s> --ticker=<t> --start_ts=<start> --end_ts=<end> --period_interval=60
  3. Present OHLC with volume.

Commands

See references/api-reference.md for the full command list with parameters.

CommandDescription
get_sports_configAvailable sport codes and series tickers
get_todays_eventsToday's events for a sport with nested markets
search_marketsFind markets by sport and/or keyword
get_esports_oddsEsports markets (cs2/lol/dota2): prices in cents (0-100) plus implied_probability (0-1) and decimal_odds
get_marketsMarket listing (raw API)
get_eventEvent details
get_marketMarket details
get_tradesRecent trades
get_market_candlesticksOHLC price history
Show full SKILL.md (333 more words)Show less

Examples

Example 1: NBA market search User says: "What NBA markets are on Kalshi?" Actions:

  1. Call search_markets(sport='nba') Result: All open NBA markets with yes/no prices and volume

Example 2: EPL game markets User says: "Show me Leeds vs Man City odds on Kalshi" Actions:

  1. Call search_markets(sport='epl', query='Leeds') Result: Leeds EPL markets across all EPL series with prices and volume

Example 3: Today's EPL events User says: "What EPL games are available on Kalshi?" Actions:

  1. Call get_todays_events(sport='epl') Result: Today's EPL events with nested markets

Example 4: Champions League futures User says: "Who will win the Champions League?" Actions:

  1. Call search_markets(sport='ucl') or get_markets(series_ticker="KXUCL", status="open")
  2. Sort by last_price descending (price = implied probability) Result: Top UCL contenders with yes_sub_title, last_price (%), and volume

Example 5: Market price history User says: "Show me the price history for this NBA game" Actions:

  1. Get market ticker from search_markets(sport='nba')
  2. Call get_market_candlesticks(series_ticker="KXNBA", ticker="...", start_ts=..., end_ts=..., period_interval=60) Result: OHLC price data with volume

Commands that DO NOT exist — never call these

  • get_odds — does not exist. Use search_markets or get_markets to find market prices.
  • get_team_schedule — does not exist. Kalshi has markets, not schedules. Use the sport-specific skill for schedules.
  • get_scores / get_results — does not exist. Kalshi is a prediction market. Use the sport-specific skill.

If a command is not listed in references/api-reference.md, it does not exist.

Troubleshooting

Error: search_markets returns 0 results Cause: The sport parameter is missing — without it, search only returns high-volume futures and misses single-game markets Solution: Always pass sport='<code>' to search_markets. Check references/api-reference.md for valid sport codes

Error: Markets returned include settled/expired contracts Cause: status parameter is not set Solution: Always pass status="open" to filter to open markets only

Error: Series ticker returns no results Cause: The series ticker may be incorrect or have no open markets Solution: Call get_series_list() to discover available tickers, or check references/series-tickers.md

Error: Football/soccer markets not found when searching "Football" Cause: On Kalshi, "Football" refers to NFL — soccer uses league-specific codes Solution: Use sport='epl', sport='ucl', sport='laliga', etc. for soccer leagues

© machina-sports, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/kalshi of machina-sports/sports-skills.

  • SKILL.md
  • references/api-reference.md
  • references/api.md
  • references/commands.md
  • references/series-tickers.md
  • scripts/validate_params.sh

Open the folder on GitHubat commit 0420a7c

Compare with similar skills

Kalshi next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kalshi compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kalshi this skillmachina-sports/sports-skills245—~1.9kAutomated safety check: PassMIT
Forecast AnalysisNVIDIA-AI-Blueprints/deep-researcher-agent886—~820Automated safety check: PassApache-2.0
Prediction MarketsBlockRunAI/blockrun-mcp391—~3.7kAutomated safety check: PassMIT
Predexon Prediction Market DataBlockRunAI/ClawRouter6.6k—~4.7kAutomated safety check: PassMIT
Surf Crypto Data APIBlockRunAI/blockrun-mcp391—~1.7kAutomated safety check: PassMIT
Sandbox Benchvercel/next.js143k—~4.1kAutomated safety check: PassMIT

Similar skills

  • Forecast Analysis

    NVIDIA-AI-Blueprints/deep-researcher-agent

    Use this skill during research for lightweight forecast evidence analysis: base-rate checks, prediction-market anchors, scenario ranges, directional factor summaries, implied probabilities, and…

    886 GitHub stars~820 tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Prediction Markets

    BlockRunAI/blockrun-mcp

    A skill your agent uses when the user asks about event probabilities, prediction market odds, what people are betting on, Polymarket/Kalshi prices, sports markets — or about the things you CANNOT…

    391 GitHub stars~3.7k tokensUpdated 3 days ago
    Data & AnalyticsAuto-check passed
  • Predexon Prediction Market Data

    BlockRunAI/ClawRouter

    Reads structured prediction market data for Polymarket, Kalshi and other venues through a local BlockRun gateway: markets, search, leaderboards, wallet analytics and odds.

    6.6k GitHub stars~4.7k tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed
  • Surf Crypto Data API

    BlockRunAI/blockrun-mcp

    Routes crypto market, on-chain, wallet and prediction-market lookups to the Surf data API through a local ClawRouter, paid per call.

    391 GitHub stars~1.7k tokensUpdated 3 days ago
    Business, Finance & HRAuto-check passed
  • Sandbox Bench

    vercel/next.js

    Official

    Benchmark React or Next.js changes on Vercel Sandbox VMs with paired A/B statistics: react PR/commit vs base, or Next.js PR/commit vs base, measured end-to-end through the bench/render-pipeline app…

    143k GitHub stars~4.1k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Statistical Analysis

    spacering-net/codeg

    Guided statistical analysis for research data - test selection, assumption checking, effect sizes, power analysis, Bayesian alternatives, and APA-formatted reporting.

    3.9k GitHub starsUsed in 3 repos~5k tokens
    Data & AnalyticsAuto-check passed

More from machina-sports/sports-skills

All 23 skills in this repo
  • Cbb Data

    machina-sports/sports-skills

    College Basketball (CBB) data via ESPN public endpoints and the NCAA's official endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, win probability, rankings, futures…

    245 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Cfb Data

    machina-sports/sports-skills

    College Football (CFB) data via ESPN public endpoints and the NCAA's official endpoints — scores, standings, rosters, schedules, game summaries, play-by-play, rankings, injuries, futures…

    245 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Cricket Data

    machina-sports/sports-skills

    Cricket data via ESPN public endpoints and Cricsheet open data — live-ish series scoreboards, standings, match summaries and news (ESPN), plus historical ball-by-ball, player stats, and player…

    245 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Fastf1

    machina-sports/sports-skills

    Formula 1 data — race schedules, results, lap timing, driver and team info.

    245 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Golf Data

    machina-sports/sports-skills

    PGA Tour, LPGA, and DP World Tour golf data via ESPN public endpoints — tournament leaderboards, scorecards, season schedules, golfer profiles/overviews, and news.

    245 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Mlb Data

    machina-sports/sports-skills

    MLB data via ESPN public endpoints and the official MLB Stats API — scores, standings, rosters, schedules, game summaries, injuries, leaders, and news, plus an analytics backend: pitch-level…

    245 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Questions about Kalshi

What does Kalshi do?

Kalshi prediction markets — events, series, markets, trades, and candlestick data. Kalshi is an agent skill from machina-sports/sports-skills. Kalshi prediction markets — events, series, markets, trades, and candlestick data.

When should I use Kalshi?

Kalshi fits situations like: : user asks about Kalshi-specific markets; event contracts; CFTC-regulated prediction markets; candlestick/OHLC price history on sports outcomes.

How do I install Kalshi in Claude Code?

Run `npx skills add machina-sports/sports-skills --skill kalshi -a claude-code`. Or copy the skill folder (skills/kalshi in machina-sports/sports-skills) into .claude/skills/kalshi in your project. Claude Code loads it when a task matches its description.

How do I install Kalshi in Codex?

Run `npx skills add machina-sports/sports-skills --skill kalshi -a codex`. Or copy the skill folder (skills/kalshi in machina-sports/sports-skills) into .agents/skills/kalshi in your project. Codex loads it when a task matches its description.

Can I use Kalshi in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add machina-sports/sports-skills --skill kalshi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kalshi, .gemini/skills/kalshi, .github/skills/kalshi and .opencode/skills/kalshi in your project.

What does Kalshi need to run?

Going by SKILL.md and its folder, Kalshi needs a shell for the scripts in its folder. Our summary lists: Python 3; A Bash shell.

Does Kalshi access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Kalshi safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Kalshi use?

Kalshi is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kalshi use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Kalshi?

Skills that share tags, products or a category with Kalshi: Forecast Analysis (NVIDIA-AI-Blueprints/deep-researcher-agent, 886 stars), Prediction Markets (BlockRunAI/blockrun-mcp, 391 stars), Predexon Prediction Market Data (BlockRunAI/ClawRouter, 6.6k stars) and Surf Crypto Data API (BlockRunAI/blockrun-mcp, 391 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kalshi?

machina-sports (a GitHub organization) maintains it in machina-sports/sports-skills, which has 245 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 10, 2026.

Source: machina-sports/sports-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.