Skip to content
v0.29.4Open source · MIT · built by Machina Sports

Build AI that understands live sports.

sportsclaw is an open-source agent engine with keyless live data, market odds and real-time game events built in. Run it in your terminal, ship it as a bot — or use it inside Machina, where every project ships with its own sportsclaw relay.

curl -fsSL https://sportsclaw.gg/install.sh | bash

macOS / Linux. Installs the engine from npm and the sports-skills data layer from PyPI.

example run · 6 Oct 2026
›Who's top of the Premier League, and how does Polymarket price United v Spurs?
◇route football · polymarket
✓football_get_season_standings season_id: premier-league-2026
✓polymarket_search_markets query: "Premier League" · sport: epl
✓fact-check · kept
Man City top the 2026-27 table on 15 pts — five wins from five — three clear of Arsenal (12), with Brighton third (10).
United v Tottenham (Oct 10) on Polymarket: United 57.5¢ · draw 22.5¢ · Spurs 21.5¢.
sources: ESPN standings · Polymarket
14
sports out of the box
6
market & utility modules
0
API keys for data
5
model providers
186
merged pull requests
1
relay in every Machina project
How it works

Grounded, not guessed.

An LLM on its own will happily invent a score. sportsclaw doesn't let it answer from memory for anything it can look up — every number comes from a real data call.

  1. 01

    Route

    A fast router reads the question and picks the one or two skills that matter, so the model only sees tools it actually needs.

    route → football · polymarket
  2. 02

    Fetch

    sports-skills runs deterministic Python against ESPN, FastF1, Kalshi, Polymarket and more. Identical calls hit a turn cache; huge results are queried, not truncated.

    football_get_season_standings(…)
  3. 03

    Check

    A fact-check compares the draft with the raw tool output and records any discrepancy in the run trace. If a tool failed, the answer is held to the data that came back.

    verification: kept | flagged
  4. 04

    Answer

    One sourced answer, wherever the question came from: your terminal, a bot, the relay API, or your own app. Add --json for NDJSON.

    sportsclaw "…" --json
sportsclaw × Machina

The open-source side of Machina.

Machina Sports builds and runs sportsclaw. The engine you install is the same one the platform deploys inside every project — so what you prototype on a laptop is what runs in production, with licensed data and durable workflows on top.

Standalone · open source

On your machine, in your community

  • CLI one-shots and chat, Discord and Telegram bots, Docker, or a library import
  • Keyless data from sports-skills — no ESPN key, no paid feeds
  • Memory in local files (or a Hindsight server), per user and agent
  • Your model key, or your existing Claude Code login
curl -fsSL https://sportsclaw.gg/install.sh | bash
Inside Machina · every project

Part of the platform, wired to the project

  • A relay is provisioned with every project, next to its API, workers and MCP server
  • Reads the project's MCP tools — licensed feeds, documents, workflows — with the project token
  • Memory defaults to project documents — fan profile, reflections, history — isolated per user and agent
  • Serves Machina products over an authenticated HTTP API — Factory queries it for live data while it builds apps
sportsclaw machina connect
Callers
  • Factory app builder
  • Broadcast & studio desks
  • Project connectors & workflows
  • Your own services
Machina projectisolated tenant · provisioned per project
sportsclaw relayThe same open-source engine
  • sportsclaw engine (TypeScript)
  • sports-skills data layer · 17 default skills
  • memory volume · per-user agent memory
project MCP serverEverything the project owns
  • licensed feeds via connectors
  • documents, workflows, agents
  • durable loop, when loop-runner is installed

alongside the project's Client API, workers, Redis and vault

Keyless public data

ESPN · FastF1 · Kalshi · Polymarket · news

Licensed & project data

real-time feeds, odds, the project's own documents

Outside-in works too: any sportsclaw install can join the same project with sportsclaw machina connect, which mints a durable service key through machina-cli.

What the claw brings to a Machina project

live

Live data, zero setup

Every project starts with 17 sports and market skills that need no data credentials.

live

Licensed feeds, same agent

The project’s MCP tools sit next to the keyless skills. When a public feed runs out, an upgrade signal points to the licensed path — once, never as a nag.

live

Pod memory

With a Machina server connected, memory defaults to project documents — SOUL, fan profile, reflections, strategy — isolated per user and agent.

rolling out

Durable delegation

Long, multi-step work goes to the project’s loop-runner. Every turn is a document; a turn only closes after a code check and an independent evaluator.

opt-in

Typed decisions

/api/decide answers bounded Choice, Score and Noul questions in one authenticated call. Disabled by default.

preview

Highlight clipping

Play-by-play turned into clip windows: rights-gated, bounded async jobs with SHA-256 receipts for every clip.

AspectOpen sourceWith Machina
DataPublic APIs, keyless — ESPN, FastF1, Kalshi, Polymarket…Adds licensed, real-time feeds through the project's MCP server
Best forPersonal use, prototypes, community botsCommercial production, with SLAs and support
MemoryLocal files, or a Hindsight serverProject documents, isolated per user and agent
Long tasksIn-process, one turn at a timeDurable loop on the project, resumable
Setupcurl … | bashsportsclaw machina connect — or nothing, inside a project
Built in the open

Contributions welcome.

sportsclaw is developed in public. Engine fixes, new bot surfaces, benchmark cases and docs all land through pull requests on GitHub — the same way the Machina team ships.

01

Set up

git clone https://github.com/machina-sports/sportsclaw
cd sportsclaw && npm install
02

Build & test

npm run build   # tsc, strict
npm test        # node:test suite

CI runs both plus a smoke test that needs no API key.

03

Open a PR

Kebab-case files, explicit .js imports, and no invented feeds — if it isn't in sports-skills, the agent can't claim it.

Engine, bots, relay, CLImachina-sports/sportsclaw
A new sport or data endpointmachina-sports/sports-skills — sportsclaw picks it up automatically
These docsnpm run docs:dev · files in docs/

Standing on the shoulders of NanoClaw, OpenClaw, NemoClaw, pi.dev, the Vercel AI SDK and Clack.

For coding agents

Hand it to your coding agent.

Paste this into Claude Code, Cursor or any coding agent. /llms.txt lists every doc page as a fetchable URL, so the agent can read the whole reference on its own.

prompt.txt
Build a sports AI app with sportsclaw. First read https://sportsclaw.gg/opensource/llms.txt
for the full doc map, then follow https://sportsclaw.gg/opensource/getting-started/quickstart
to install and scaffold. sportsclaw gives you keyless live scores, standings, odds
and markets via sports-skills, plus one-command Discord and Telegram bots. Use the
docs at https://sportsclaw.gg/opensource/ for the CLI, data coverage, and deployment.

Start in your terminal. Grow on Machina.