Polymarket

Medium
by joelchance | Audited: 2026-02-26T09:59:20.936Z | Ruleset: 0.2.0

Quick Install

Add this skill to your agent

clawhub install polymarketodds

About This Skill

READ BEFORE INSTALL

watchlist.json — Watched markets and alert thresholds
portfolio.json — Paper positions and trade history
Current odds (Yes/No prices)
Price momentum (24h/1wk/1mo changes with arrows)
Volume (total + 24h activity)
Time remaining

Use Cases

Documentation (Original)

Source: SKILL.md
The following is the author's original documentation (often English). For installation, follow “Quick Install” above.

name: polymarket
description: Query Polymarket prediction markets - check odds, trending markets, search events, track prices and momentum. Includes watchlist alerts, resolution calendar, momentum scanner, and paper trading (simulated, no real money).
homepage: https://polymarket.com
user-invocable: true
disable-model-invocation: true
metadata:
openclaw:
emoji: "📊"
requires:
bins: [python3]

Polymarket

READ BEFORE INSTALL

HOW TO USE

HOW TO USE

READ BEFORE INSTALL

Query Polymarket prediction markets. Check odds, find trending markets, search events, track price movements.

Quick Start

# Trending markets
python3 {baseDir}/scripts/polymarket.py trending

# Search
python3 {baseDir}/scripts/polymarket.py search "trump"

# Biggest movers
python3 {baseDir}/scripts/polymarket.py movers

# What's resolving soon
python3 {baseDir}/scripts/polymarket.py calendar

After Install — Suggested Setup

1. Add to Morning Briefing

Add Polymarket to your daily cron:

polymarket featured + polymarket movers --timeframe 24h

2. Watch Markets You Care About

# Watch with price target alert
python3 {baseDir}/scripts/polymarket.py watch add trump-2028 --alert-at 60

# Watch with change alert (±10% from current)
python3 {baseDir}/scripts/polymarket.py watch add bitcoin-100k --alert-change 10

3. Set Up Hourly Alerts (Cron)

# Check watchlist every hour, only notify on alerts
python3 {baseDir}/scripts/polymarket.py alerts --quiet

4. Weekly Category Digests

# Every Sunday: politics digest
python3 {baseDir}/scripts/polymarket.py digest politics

5. Paper Trade to Track Predictions

python3 {baseDir}/scripts/polymarket.py buy trump-2028 100  # $100 on Trump
python3 {baseDir}/scripts/polymarket.py portfolio           # Check P&L

Commands

Core

# Trending markets (by 24h volume)
python3 {baseDir}/scripts/polymarket.py trending

# Featured/high-profile markets
python3 {baseDir}/scripts/polymarket.py featured

# Search markets
python3 {baseDir}/scripts/polymarket.py search "giannis"

# Get event by slug
python3 {baseDir}/scripts/polymarket.py event trump-2028

# Browse by category
python3 {baseDir}/scripts/polymarket.py category politics

Watchlist + Alerts (NEW)

# Add to watchlist
python3 {baseDir}/scripts/polymarket.py watch add trump-2028
python3 {baseDir}/scripts/polymarket.py watch add bitcoin-100k --alert-at 70
python3 {baseDir}/scripts/polymarket.py watch add fed-rate-cut --alert-change 15

# Watch specific outcome in multi-market
python3 {baseDir}/scripts/polymarket.py watch add giannis-trade --outcome warriors

# List watchlist with current prices
python3 {baseDir}/scripts/polymarket.py watch list

# Remove from watchlist
python3 {baseDir}/scripts/polymarket.py watch remove trump-2028

# Check for alerts (for cron)
python3 {baseDir}/scripts/polymarket.py alerts
python3 {baseDir}/scripts/polymarket.py alerts --quiet  # Only output if triggered

Resolution Calendar (NEW)

# Markets resolving in next 7 days
python3 {baseDir}/scripts/polymarket.py calendar

# Markets resolving in next 3 days
python3 {baseDir}/scripts/polymarket.py calendar --days 3

# More results
python3 {baseDir}/scripts/polymarket.py calendar --days 14 --limit 20

Momentum Scanner (NEW)

# Biggest movers (24h)
python3 {baseDir}/scripts/polymarket.py movers

# Weekly movers
python3 {baseDir}/scripts/polymarket.py movers --timeframe 1w

# Monthly movers with volume filter
python3 {baseDir}/scripts/polymarket.py movers --timeframe 1m --min-volume 50

Category Digests (NEW)

# Politics digest
python3 {baseDir}/scripts/polymarket.py digest politics

# Crypto digest
python3 {baseDir}/scripts/polymarket.py digest crypto

# Sports digest
python3 {baseDir}/scripts/polymarket.py digest sports

Categories: politics, crypto, sports, tech, business

Paper Trading (NEW)

# Buy $100 of a market
python3 {baseDir}/scripts/polymarket.py buy trump-2028 100

# Buy specific outcome
python3 {baseDir}/scripts/polymarket.py buy giannis-trade 50 --outcome warriors

# View portfolio
python3 {baseDir}/scripts/polymarket.py portfolio

# Sell position
python3 {baseDir}/scripts/polymarket.py sell trump-2028

Starts with $10,000 paper cash. Track your predictions without real money.


Data Storage

Watchlist and portfolio stored in ~/.polymarket/:

  • watchlist.json — Watched markets and alert thresholds
  • portfolio.json — Paper positions and trade history

Cron Examples

Hourly Alert Check

0 * * * * python3 ~/.../polymarket.py alerts --quiet

Daily Morning Brief

0 7 * * * python3 ~/.../polymarket.py movers && python3 ~/.../polymarket.py calendar --days 1

Weekly Digests

0 10 * * 0 python3 ~/.../polymarket.py digest politics
0 10 * * 0 python3 ~/.../polymarket.py digest crypto

Output Features

Markets show:

  • Current odds (Yes/No prices)
  • Price momentum (24h/1wk/1mo changes with arrows)
  • Volume (total + 24h activity)
  • Time remaining
  • Bid/ask spread

API

Uses the public Gamma API (no auth required for reading):


Security & Permissions

No API key or authentication required. This skill uses Polymarket's public Gamma API.

What this skill does:

  • Makes HTTPS GET requests to gamma-api.polymarket.com (public, unauthenticated)
  • Reads market data: odds, volumes, event details, price history
  • Paper trading is local simulation only — stored in ~/.polymarket/ as JSON files
  • No real money, no wallet, no blockchain transactions

What this skill does NOT do:

  • Does not connect to any wallet or financial account
  • Does not execute real trades or transactions
  • Does not require or handle any credentials or API keys
  • Does not send any personal data externally
  • Cannot be invoked autonomously by the agent (disable-model-invocation: true)

Data stored locally: ~/.polymarket/watchlist.json, ~/.polymarket/portfolio.json

Review scripts/polymarket.py before first use to verify behavior.

Note

This is read-only + paper trading. Real trading requires wallet authentication (not implemented).

Security Audit

Medium

Summary

Query Polymarket prediction markets - check odds, trending markets, search events, track prices and momentum. Includes watchlist alerts, resolution calendar,...

Risk Profile Toxicity Privacy Scope Reputation Quality

ToxicSkills Analysis

Blocklist
Not matched
Prompt Injection
Not detected

Toxic Flags

exfiltration

No Toxic signals detected by current static checks.

Key Risks 0 items

No LLM risk bullets (LLM disabled or not cached).

Deterministic Findings (Evidence)

Rule Severity File Snippet
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 57
def fetch(endpoint: str, params: dict = None) -> dict:
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 60
resp = requests.get(url, params=params, timeout=30)
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 293
data = fetch('/events', params)
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 310
data = fetch('/events', params)
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 321
data = fetch('/events', params)
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 381
data = fetch('/events', {'slug': slug_guess, 'closed': 'false'})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 392
data = fetch('/events', {'closed': 'false', 'limit': 500})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 440
data = fetch('/events', {'slug': slug})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 443
all_events = fetch('/events', {'closed': 'false', 'limit': 200})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 469
data = fetch('/events', {'slug': slug})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 519
data = fetch('/events', {
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 558
data = fetch('/events', {'slug': slug})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 633
data = fetch('/events', {'slug': w['slug']})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 676
data = fetch('/events', {'slug': w['slug']})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 740
data = fetch('/events', {
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 803
data = fetch('/events', {
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 882
data = fetch('/events', {
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 983
data = fetch('/events', {'slug': pos['slug']})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 1034
data = fetch('/events', {'slug': slug})
NET_HTTP_REQUEST medium skills/joelchance/polymarketodds/scripts/polymarket.py Line 1131
data = fetch('/events', {'slug': slug})

Scoring Criteria

Each skill is scored across 5 dimensions. The weighted total determines the star rating.

Code Toxicity 100/100 (weight 30%)
Privacy Risk 0/100 (weight 25%)
Permission Scope 90/100 (weight 20%)
Author Reputation 75/100 (weight 15%)
Code Quality 70/100 (weight 10%)

Star Rating Scale

5★ Safe — Score ≥ 80
4★ Good — Score 70–79
3★ Caution — Score 60–69
2★ Risky — Score 40–59
1★ Dangerous — Score < 40

Why This Score?

The following dimensions scored below 60, dragging the overall rating down:

  • Privacy Risk: 0/100

Explore More Skills

VettedSkillsHub

We curate the top 100 most downloaded skills from ClawHub — the official ClawdBot (OpenClaw) marketplace — then run independent 5-dimension security audits. Transparent evidence, reproducible scores, 1-click install.

About

Best-effort static analysis. Scores are reproducible and evidence-based. Always review code and run in isolated environments for sensitive use.

© 2026 VettedSkillsHub. ClawdBot & OpenClaw are community projects.