# Prediction Market Tools You Run Yourself

Cards that run on hardware you control — a claim about where the process and the credential sit, and not the same claim as open source.

*https://predictionmarkets.tools/collections/self-hosted*

## What the flag claims, and what it does not

`access.self_hosted` says the product can run on hardware you control: a library inside your own
process, an application you deploy, or the second half of a product whose default path is
somebody else's server. Seventeen of the sixty cards here carry it.

It is not the same claim as `access.open_source`, and the two come apart on five cards in this
catalogue. Fifteen of these seventeen are open source as well, which is why this page was held
back twice. The other two are the argument for it.

[kalshi-python](https://predictionmarkets.tools/tools/kalshi-python) and
[the current Kalshi Python SDK](https://predictionmarkets.tools/tools/kalshi-python-sync) are the exchange's own generated
packages. Both declare `LicenseRef-Proprietary`, the repository their metadata names returns 404
to anyone outside the company, and there is no issue tracker, no commit history and no patch you
can send. Both also run in your process, hold the RSA private key that signs your orders, and send
nothing anywhere but Kalshi. Closed code, your machine.

Pointing the other way: [Manifold](https://predictionmarkets.tools/tools/manifold), [the Manifold API](https://predictionmarkets.tools/tools/manifold-api) and
[Quantified Intuitions](https://predictionmarkets.tools/tools/quantified-intuitions) publish their source under MIT and are *not*
in this collection. Manifold's code is why its fee position is a fact rather than a promise — the
taker fee constant and the flat trade fee in it are both zero — but the questions, the balances,
the accounts and the resolutions are on a server you do not run, so there is nothing here to
deploy. A licence says what you may do with the code. This flag says where the process runs.

## Three different things wear the word

**A library in your process.** Most of the listing.
[polymarket-client](https://predictionmarkets.tools/tools/polymarket-client), [pykalshi](https://predictionmarkets.tools/tools/pykalshi),
[limitless-sdk](https://predictionmarkets.tools/tools/limitless-sdk), [CCXT](https://predictionmarkets.tools/tools/ccxt),
[polymarket-us-python](https://predictionmarkets.tools/tools/polymarket-us-python),
[polymarket-us-typescript](https://predictionmarkets.tools/tools/polymarket-us-typescript),
[py-clob-client](https://predictionmarkets.tools/tools/py-clob-client) and the two Kalshi packages import into your program and
hold whatever credential you hand them. "Self-hosted" here means there is no third party in the
call path at all — and it also means the dependency list runs in the same process as the key.

**An application you deploy.** [Confido](https://predictionmarkets.tools/tools/confido) has no public instance to join: the
supported route is a Gradle build whose `run` task serves the compiled front end on port 8080, and
the institute's pitch is that the data never leaves your server. [Alphapoly](https://predictionmarkets.tools/tools/polymarket-alpha-bot)
is a FastAPI backend plus a front end on localhost. [Fatebook](https://predictionmarkets.tools/tools/fatebook) ships a
`docker compose` path with its own Postgres and a local mail catcher, and is careful to call it a
development environment rather than a supported self-hosted product — a private deployment means
bringing your own identity provider. [Metaculus](https://predictionmarkets.tools/tools/metaculus) is the commercial version of the
same requirement: private instances deployed inside an organisation are something the company sells,
not something you download.

**A pipeline and its data.** [Prediction Market Analysis](https://predictionmarkets.tools/tools/prediction-market-analysis) is
indexers, a 36 GiB Parquet snapshot and an analysis harness; keeping it current means running the
collectors yourself. [Brier.fyi](https://predictionmarkets.tools/tools/brier-fyi) is the sharpest case in the listing, because
self-hosting is the only route to a current number: the site is up, its last commit is dated
24 January 2026, the one before it is titled "infra, pause nightly data pipeline", and its public
API answered 502 when the card was written. The scores are frozen and the code that made them is
MIT.

**And one product is both halves at once.** [PMXT](https://predictionmarkets.tools/tools/pmxt) sells a hosted Data API and also
ships `pmxt-core`, which spawns a local service and talks to the venues directly with your own
venue credentials. The documentation's sentence for that mode is that venue credentials stay on
your machine. The quickstart's default is the hosted path, with a `pmxt_api_key` and a
`private_key` in the same constructor — so here self-hosting is a decision, not a property.

## What it does not buy you

**It does not mean nothing leaves.** Alphapoly runs entirely on your machine and still ships
market text and prompts to OpenRouter and JSON-RPC calls to your Polygon node provider. Running
the process locally narrows who sees your traffic; it does not empty it.

**It does not make a key safe.** [The Polymarket CLI](https://predictionmarkets.tools/tools/polymarket-cli) writes a freshly
generated private key unencrypted into `~/.config/polymarket/config.json` — no passphrase, no
keychain, no hardware-wallet path — which on a shared or backed-up machine is a funded account in
a file. [Where your key lives](https://predictionmarkets.tools/guides/where-your-key-lives) is the page for that decision, and
[the open-source collection](https://predictionmarkets.tools/collections/open-source) for what reading the code does and does not
tell you about it.

**It does not open an account.** Alphapoly installs anywhere and trades on the on-chain Polymarket,
which does not serve US persons. The Kalshi packages install anywhere and are useless without a key
from a funded Kalshi account. The flags on a client card describe the client;
[why a venue is unavailable where you are](https://predictionmarkets.tools/guides/why-a-venue-is-unavailable-where-you-are) is
where the actual gate is described.

**And one licence reaches further than people expect.** Confido is AGPL-3.0, which covers a
modified version offered to others over a network — which is exactly what a self-hosted forecasting
workspace inside a company is.

Nothing in this collection has been deployed by this site against a funded account. Build steps,
licences, credential handling and dataset sizes above are read from each vendor's own documentation
and repositories, and dated on the cards.

## Cards

- [Brier.fyi](https://predictionmarkets.tools/tools/brier-fyi.md) — Brier scores and letter grades for matched questions across four platforms.
- [CCXT](https://predictionmarkets.tools/tools/ccxt.md) — One client for seven prediction venues, inside a 104-exchange crypto library.
- [Confido](https://predictionmarkets.tools/tools/confido.md) — Open-source forecasting workspace you host yourself, with a Brier score pointing upwards.
- [Fatebook](https://predictionmarkets.tools/tools/fatebook.md) — Write down what you think will happen, in Slack or a browser, and get scored on it.
- [Kalshi Python SDK (sync and async)](https://predictionmarkets.tools/tools/kalshi-python-sync.md) — Kalshi's current official Python client - weekly releases, Python 3.13 only, no source.
- [kalshi-python](https://predictionmarkets.tools/tools/kalshi-python.md) — Kalshi's own generated Python client - closed-source, and unreleased since September 2025.
- [limitless-sdk](https://predictionmarkets.tools/tools/limitless-sdk.md) — Limitless Exchange's own async Python SDK - CLOB and NegRisk orders, WebSocket, MIT.
- [Metaculus](https://predictionmarkets.tools/tools/metaculus.md) — Proper scoring and public track records on questions nobody can take a position in.
- [PMXT](https://predictionmarkets.tools/tools/pmxt.md) — CCXT-shaped client for prediction markets, with a hosted API and a self-hosted mode.
- [Alphapoly (polymarket-alpha-bot)](https://predictionmarkets.tools/tools/polymarket-alpha-bot.md) — Self-hosted scanner for covering portfolios across correlated Polymarket contracts.
- [Polymarket CLI](https://predictionmarkets.tools/tools/polymarket-cli.md) — Polymarket's Rust command line - MIT in the manifest, with no LICENSE file in the repo.
- [polymarket-client](https://predictionmarkets.tools/tools/polymarket-client.md) — Polymarket's own unified Python SDK - sync and async, data through order signing.
- [Polymarket US Python SDK](https://predictionmarkets.tools/tools/polymarket-us-python.md) — Official SDK for Polymarket US - installs as polymarket-us, unreleased since January.
- [Polymarket US TypeScript SDK](https://predictionmarkets.tools/tools/polymarket-us-typescript.md) — Official TypeScript client for Polymarket US - npm has shipped nothing since January.
- [Prediction Market Analysis](https://predictionmarkets.tools/tools/prediction-market-analysis.md) — Open-source Kalshi and Polymarket dataset, indexers and analysis scripts.
- [py-clob-client](https://predictionmarkets.tools/tools/py-clob-client.md) — Polymarket's own Python CLOB client - archived, and declared non-functional by its README.
- [pykalshi](https://predictionmarkets.tools/tools/pykalshi.md) — Unofficial Kalshi client with what the generated SDK leaves out - streams and retries.

## FAQ

### Is self-hosted the same as open source?

No, and this listing contains both counterexamples. Kalshi's own Python packages, kalshi-python and kalshi-python-sync, are in it and are not open source — the licence field reads LicenseRef-Proprietary and the repository their metadata names returns 404 — yet they run in your process holding your signing key. Meanwhile Manifold, the Manifold API and Quantified Intuitions publish their source and are not in it, because the questions, balances and accounts live on servers you do not run.

### Does running it myself mean nothing leaves my machine?

Not by itself. Alphapoly runs entirely on localhost and still sends market text and prompts to OpenRouter and JSON-RPC calls to whichever Polygon node provider you point it at. PMXT's self-hosted mode is the one whose documented promise is narrow and checkable — venue credentials stay on your machine — and it is the mode you have to choose, because the quickstart's default path is the hosted one.

### What does self-hosting actually cost?

Disk, credentials and a deployment you own. Prediction Market Analysis downloads roughly 36 GiB compressed before extraction, which is its real gate rather than any jurisdictional one. Confido is a Gradle build that serves its front end on port 8080. Fatebook's docker compose brings up the app with its own Postgres and a local mail catcher, and its README frames that as a development environment rather than a supported product.

### Does self-hosting get me access to a venue that blocks me?

No. A library grants no access it does not already have. Alphapoly installs anywhere and trades only on the on-chain Polymarket, which does not serve US persons; kalshi-python installs anywhere and needs an API key from a funded Kalshi account. The software is not the gate, and the guide on why a venue is unavailable where you are is the page for what is.
