Skip to main content

Get pinged the second a Manifold Markets prediction moves. Tiny Python CLI, multi-channel alerts.

Project description

manifold-watch

Get pinged the second a Manifold Markets prediction moves.

Tiny Python CLI that polls Manifold's public API, watches the BINARY markets you care about, and fires alerts to your console / Telegram / Discord the moment a market's implied probability crosses a threshold you set.

No keys, no auth, no signup. Just a YAML file and a wallet for tips.

[manifold-watch] BTC $65k in June  [UP] 0.890 -> 0.992 (+11.46%)
[manifold-watch] BTC $100k EOM Jun [DN] 0.040 -> 0.014 (-65.00%)

Family of tools (same author, same wallet, same UX):


Why

Manifold Markets is the play-money cousin of Polymarket / Kalshi — fewer dollars at stake, but a much wider catalogue (5k+ active markets at any given time) and weirder long-tail topics that don't show up on the regulated venues. Useful as a "what is the smart money thinking about X?" sensor, and great for cross-venue divergence trading against Polymarket / Kalshi.

This is the same polywatch / kalshiwatch UX, ported to Manifold's API.

Install

pip install git+https://github.com/creampig666/manifold-watch.git

Or clone:

git clone https://github.com/creampig666/manifold-watch.git
cd manifold-watch && pip install -e .

60-second start

manifold-watch init           # writes config.yaml
$EDITOR config.yaml           # change the slugs to ones you care about
manifold-watch test-alert     # verify your Telegram / Discord wiring
manifold-watch run            # go

Sample config.yaml:

poll_interval_sec: 60

markets:
  - slug: bitcoin-65k-in-june
    name: BTC $65k in June
    threshold_pct: 5
    direction: any         # up | down | any

  - slug: bitcoin-100k-before-end-of-june-202
    name: BTC $100k EOM Jun
    threshold_pct: 5
    direction: any

alerts:
  console: true
  # telegram:
  #   bot_token: ${TELEGRAM_BOT_TOKEN}   # env vars supported
  #   chat_id: ${TELEGRAM_CHAT_ID}
  # discord:
  #   webhook: https://discord.com/api/webhooks/.../...

The slug is the final URL segment of a Manifold market page (e.g. bitcoin-65k-in-june from https://manifold.markets/...market.../bitcoin-65k-in-june).

Only BINARY markets are supported in v1 (the ones with a single probability). MULTIPLE_CHOICE and free-response markets are skipped with a warning.

How it works

  1. Every poll_interval_sec seconds, fetch each configured market from api.manifold.markets/v0/slug/{slug}.
  2. Compare probability (0.0 – 1.0) to the value seen last tick.
  3. If the change ≥ threshold (and direction matches), build an AlertEvent and dispatch to every enabled channel.
  4. Failed channels log the error and don't break the loop.

State is in-memory — restart resets the comparison baseline, no DB.

Manifold + Polymarket + Kalshi = triangulation

Running all three watchers side by side gives you a cheap, real-time view of "where do the smart money, the regulated money, and the play money disagree?" The prediction-market-mcp server exposes all three to Claude with a single find_arb_opportunities query.

Roadmap (PRs welcome)

  • MULTIPLE_CHOICE support (per-answer probability tracking)
  • Volume-spike alerts (not just price)
  • Cross-venue divergence alerts (vs Polymarket / Kalshi)
  • State persistence

Tip jar

Free and stays free. If it saved you a refresh tic:

0x17Fb06dE9D5945eaFf6FBBf4c264E505D38182A4   # EVM (ETH / USDC / any EVM L2)

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manifold_watch-0.1.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manifold_watch-0.1.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file manifold_watch-0.1.0.tar.gz.

File metadata

  • Download URL: manifold_watch-0.1.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for manifold_watch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6a565d5428b58dd36d206374e9fef24170cdcc33500cf8b76696353a8442ccff
MD5 63ff3e10bb614a39ee6fc3e64292182c
BLAKE2b-256 fa10f651f9cc2bdbca9b59ab9866def94063d9a0aac6030e0c8e70fafc4fb684

See more details on using hashes here.

File details

Details for the file manifold_watch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: manifold_watch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for manifold_watch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0fec7f384d971d4c580e08e202afb7e049cb8c2a4021a5499c1c42183b6947bf
MD5 b17311d7cf3331d9433dce3e1060ae6f
BLAKE2b-256 d6d35e58b927c79b309b22154ea816a8113952a93d342798cd421eb67834155c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page