Polymarket Multi Source Estimator

v1.1.4

Trade prediction markets using LLM probability estimation enriched with 10+ real-time data sources (news, economic data, sports odds, political polling, and...

0· 151·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for mibayy/polymarket-multi-source-estimator.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Polymarket Multi Source Estimator" (mibayy/polymarket-multi-source-estimator) from ClawHub.
Skill page: https://clawhub.ai/mibayy/polymarket-multi-source-estimator
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install polymarket-multi-source-estimator

ClawHub CLI

Package manager switcher

npx clawhub@latest install polymarket-multi-source-estimator
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description, SKILL.md, clawhub.json, and the Python code align: a prediction-market trading estimator that needs a trading API key (SIMMER_API_KEY) and an LLM key (LLM_API_KEY). Optional API keys correspond to the listed data sources. Required pip packages (simmer-sdk, requests) are appropriate for the functionality.
Instruction Scope
SKILL.md instructs the agent to fetch many external public data sources, build context, call an LLM, compare estimates to market prices, and trade via Simmer. This matches the code you shipped. Caveats: the skill makes outbound HTTP requests to data APIs and to whatever LLM endpoint you configure (default OpenRouter). That means market questions + gathered public context will be transmitted off-host to the chosen LLM provider. The SKILL.md states only public context is sent, but you should verify the full source (the file was truncated in the provided snippet) to confirm no accidental inclusion of other environment values or secrets in LLM payloads.
Install Mechanism
No install script is included; the registry metadata lists pip dependencies (simmer-sdk, requests). Using pip is normal here, but pip-installed packages run arbitrary Python code on install—standard risk. There are no downloads from unknown URLs or archive extracts declared.
Credentials
Only two required env vars are declared (SIMMER_API_KEY and LLM_API_KEY), which is proportionate for a trading bot that calls an external LLM. Several optional API keys for public-data providers are sensible. Reminder: both required vars are sensitive—SIMMER_API_KEY grants ability to place trades via the Simmer SDK, and LLM_API_KEY allows sending data to an external model. Ensure the SIMMER_API_KEY scope/permissions are restricted and use paper mode for testing.
Persistence & Privilege
The skill is an automaton scheduled every 5 minutes (clawhub.json cron and SKILL.md). always:false (default) so it is not force-included in every agent, but managed scheduling + autonomous invocation means it can run and place trades without manual steps if configured with live credentials. This is expected for a trading bot, but you should be deliberate about enabling --live and where the skill runs.
Assessment
This skill looks coherent for its purpose, but it is a live-capable trading bot and will transmit market questions + gathered public context to whichever LLM endpoint you configure. Before installing: (1) review the full multi_source_estimator.py (the provided snippet was truncated) to confirm no unexpected I/O or hidden endpoints; (2) run in dry-run/sim mode initially and test locally; (3) use paper/sim TRADING_VENUE and avoid setting --live until you’re confident; (4) limit the SIMMER_API_KEY to the minimum permissions possible and consider using a test key; (5) set LLM_API_URL to a provider you trust (self-hosted if privacy is a concern); (6) only provide optional data-source API keys you trust and rotate keys after testing; (7) run the code in an isolated environment and monitor outbound traffic/logs. If you want higher confidence, provide the complete (untruncated) source for review or run a static audit on the full file.

Like a lobster shell, security has layers — review code before you run it.

latestvk97be71x2pdej0p53xs93cqkrs838t51
151downloads
0stars
6versions
Updated 1mo ago
v1.1.4
MIT-0

Multi-Source LLM Estimator

A prediction market trading bot that enriches an LLM with real-time context from 10+ data sources. It compares the LLM's estimated probability against the current market price and trades when it detects significant mispricing.

How It Works

10+ Data Sources --> Context String --> LLM Prompt --> Probability Estimate
                                                              |
                                                    Compare vs Market Price
                                                              |
                                              Trade if divergence > threshold
  1. Fetches active markets from Polymarket (via Simmer SDK)
  2. For each market, gathers real-time context from relevant data sources
  3. Also checks cross-platform prices on Manifold and Kalshi
  4. Sends the question + context to an LLM for probability estimation
  5. If the LLM's estimate diverges from the market price by more than the threshold (default 15%), it places a trade

Data Sources

#SourceWhat It ProvidesAPI Key Required
1RSS NewsHeadlines from 10 feeds (Reuters, BBC, Bloomberg, etc.)No
2FREDEconomic indicators (Fed rate, CPI, GDP, VIX, oil, gold)Yes (free)
3GDELTGeopolitical event sentiment scoresNo
4Odds APISports bookmaker consensus probabilitiesYes (free tier)
5FiveThirtyEightUS presidential approval polling averagesNo
6Congress.govBill status and legislative trackingYes (free)
7OpenFDADrug approval status and clinical trial dataNo
8Open-MeteoWeather forecasts for major citiesNo
9USGSSignificant earthquake dataNo
10FinnhubEarnings calendar and IPO dataYes (free)
11ManifoldCross-platform prediction market pricesNo
12KalshiCross-platform prediction market pricesNo

Sources are selected automatically based on category detection from the question text. Only relevant sources are queried to minimize latency.

Remixable Template

This skill is designed as a template you can customize:

  • Add your own data source: Implement a _get_X_context(question) function that returns a list[str] of context lines. Add it to _dispatch_sources().
  • Swap the LLM: Set LLM_API_URL and LLM_MODEL env vars to point at any OpenAI-compatible API (OpenRouter, Ollama, vLLM, etc.).
  • Adjust the threshold: Set ESTIMATOR_THRESHOLD higher for fewer but higher-conviction trades, or lower for more frequent trading.
  • Change the prompt: Edit the _build_prompt() function to customize the LLM's reasoning style.

Environment Variables

Required

VariableDescription
SIMMER_API_KEYSimmer SDK API key for trading
LLM_API_KEYAPI key for your LLM provider (default: OpenRouter)

Optional

VariableDefaultDescription
TRADING_VENUEsimTrading venue (sim for paper, polymarket for real)
TRADE_SIZE10.0Trade size in USD per trade
LLM_API_URLOpenRouter endpointOpenAI-compatible chat completions URL
LLM_MODELxiaomi/mimo-v2-flash:freeModel identifier
ESTIMATOR_THRESHOLD0.15Min divergence to trigger a trade (0.0-1.0)
FRED_API_KEYFRED API key (free at api.stlouisfed.org)
ODDS_API_KEYThe Odds API key (free at the-odds-api.com)
CONGRESS_API_KEYCongress.gov API key (free)
FINNHUB_API_KEYFinnhub API key (free tier)
LLM_CACHE_TTL1800LLM response cache TTL in seconds
LLM_MAX_CALLS50Max LLM calls per run

Usage

Dry-run (no trades, just log estimates):

python multi_source_estimator.py

Live trading:

python multi_source_estimator.py --live

Quiet mode (errors only):

python multi_source_estimator.py --live --quiet

Limit markets scanned:

python multi_source_estimator.py --live --max-markets 20

Scheduling

Runs every 5 minutes via cron (*/5 * * * *). Managed automaton (auto-executes on schedule). Capped at 50 LLM calls per run (LLM_MAX_CALLS) to control costs.

Security

  • All trades go through SimmerClient.trade() only. No direct CLOB or wallet access.
  • Dry-run by default. The --live flag must be explicitly passed to execute trades.
  • No wallet private keys are required or read by this script.
  • LLM receives only the market question text and publicly available context (news headlines, economic indicators, odds). No credentials or private data are sent to the LLM.
  • LLM_API_URL defaults to OpenRouter. You control which LLM endpoint is used.
  • All optional API keys (FRED, Odds, Congress, Finnhub) are for free public data APIs. If unset, those data sources are simply skipped.

Comments

Loading comments...