Polymarket Sports Arbitrage

v1.0.1

Scans sports odds from traditional bookmakers (via The Odds API) to detect arbitrage opportunities — situations where two bookmakers offer contradictory odds...

0· 162·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/sports-arbitrage.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Polymarket Sports Arbitrage" (mibayy/sports-arbitrage) from ClawHub.
Skill page: https://clawhub.ai/mibayy/sports-arbitrage
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 sports-arbitrage

ClawHub CLI

Package manager switcher

npx clawhub@latest install sports-arbitrage
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the implementation: the skill fetches odds (The Odds API), computes implied probabilities and stake splits, and logs/arbs results. Declared dependency (requests) and optional ODDS_API_KEY are appropriate for this purpose.
Instruction Scope
SKILL.md instructions describe fetching odds, using demo data when no API key is present, filtering by MIN_PROFIT_PCT, and writing results to RESULTS_FILE (default /tmp). The code follows this behaviour and does not request unrelated files, secrets, or hidden network endpoints in the visible sources.
Install Mechanism
No custom install script is present. clawhub.json declares a pip dependency on 'requests', which is proportionate to the task (HTTP requests). No third-party binaries, unusual downloads, or archive extraction steps are present.
Credentials
Only optional environment variables declared (ODDS_API_KEY, MIN_PROFIT_PCT, TOTAL_STAKE, SPORTS, RESULTS_FILE). These directly map to the skill's behaviour; no unrelated secrets or multiple unrelated credentials are requested.
Persistence & Privilege
The skill is an automaton with a cron schedule in clawhub.json (*/30 * * * *) so it will run periodically if installed. always:true is not set and there is no code that modifies other skills or system-wide configs. Note: autonomous invocation is enabled (platform default).
Assessment
This skill appears internally consistent and does what it says: pull odds from The Odds API (or use demo data), detect arbs, and save results. Before installing: (1) confirm you trust the source since the code will make outbound HTTP requests; (2) if you supply an ODDS_API_KEY, ensure it has only the permissions you expect and rotate it if shared; (3) be aware it writes results to RESULTS_FILE (default /tmp) which is world-readable on many systems—point RESULTS_FILE to a safer location if needed; (4) clawhub.json schedules runs every 30 minutes—verify you want periodic scanning and network usage; (5) review the full sports_arbitrage.py locally if you need higher assurance (the presented portions are consistent, but always-audit code from unknown sources). Finally, consider legal/regulatory and personal-responsibility aspects of interacting with betting APIs in your jurisdiction.

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

latestvk976e8knbg7hpvxmeme646b97d83bh38
162downloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0

Sports Arbitrage Scanner

A ClawHub automaton skill that continuously monitors sports betting odds from multiple bookmakers, identifies arbitrage opportunities, and reports guaranteed-profit trade setups.

How Arbitrage Works

An arbitrage opportunity exists when the sum of implied probabilities across all outcomes of a match (using the best available odds from any bookmaker) is less than 1.0. This means you can stake proportionally on all outcomes and lock in a profit no matter who wins.

Implied probability of outcome = 1 / decimal_odds Arb exists when: sum(1/odds_i for all outcomes) < 1.0 Profit % = (1 - sum_of_implied_probs) / sum_of_implied_probs * 100 Stake for outcome i = (total_stake / odds_i) / sum_of_implied_probs

Environment Variables

ODDS_API_KEY (optional) API key for The Odds API (https://the-odds-api.com). Free tier allows ~500 requests/month. If not set, the skill falls back to built-in sample/demo data so it can still demonstrate functionality.

MIN_PROFIT_PCT (optional, default: 0.5) Minimum profit percentage to report. Arbs below this threshold are silently filtered out. Increase to reduce noise, decrease to surface more marginal arbs.

TOTAL_STAKE (optional, default: 1000) Hypothetical total stake amount (in your currency) used to compute the concrete stake split per outcome. Purely illustrative — adjust to your bankroll.

SPORTS (optional, default: soccer_epl,basketball_nba,americanfootball_nfl) Comma-separated list of sport keys to scan. Valid sport keys are documented at https://the-odds-api.com/sports-odds-data/sports-apis.html

RESULTS_FILE (optional, default: /tmp/sports_arb_results.json) Path where the JSON results file is written after each scan run.

Output

Each detected arbitrage opportunity is logged to stdout and appended to the JSON results file. The JSON schema per opportunity:

{ "match": "Team A vs Team B", "sport": "soccer_epl", "commence_time": "2026-03-21T15:00:00Z", "profit_pct": 1.23, "total_implied_prob": 0.9879, "outcomes": [ { "name": "Team A", "bookmaker": "pinnacle", "odds": 2.10, "implied_prob": 0.4762, "stake": 476.19, "potential_return": 1000.00 }, ... ], "total_stake": 1000, "guaranteed_return": 1012.30, "detected_at": "2026-03-21T03:00:00Z" }

Comments

Loading comments...