<< All versions
Skill v1.0.0
currentAutomated scan100/100alexai-mcp/hermes-ccc/polymarket
──Details
PublishedOctober 26, 2026 at 08:43 PM
Content Hashsha256:65627e7154161555...
Git SHA8107e895541f
──Files
Files (1 file, 6.9 KB)
SKILL.md6.9 KBactive
SKILL.md · 185 lines · 6.9 KB
name: polymarket description: Query Polymarket prediction markets for probability data and research insights on real-world events. version: 1.0.0 author: hermes-CCC (ported from Hermes Agent by NousResearch) license: MIT metadata: hermes: tags: [Research, Polymarket, Prediction-Markets, Probability, Events] related_skills: []
Polymarket
Purpose
- Use this skill to pull live prediction market data for research and forecasting workflows.
- Polymarket is useful for probability-oriented views of current events, elections, macro themes, and sports or policy questions.
- Treat the market price as a crowd-implied probability signal, not ground truth.
API Surface
- Base reference:
https://clob.polymarket.com/ - Public market discovery is commonly accessed through the gamma API.
- Start with active markets and then filter by topic or keyword.
Request Discipline and Rate Limits
- Send a timeout on every request and fail fast instead of hanging a long-running research pass.
- Start with at most 1 request per second when iterating on the gamma API and slow down further if responses get unstable.
- Back off and retry once on
429or transient5xxresponses with a short sleep before the second request. - Cache raw JSON snapshots by timestamp when polling the same topic so you do not hit the API repeatedly for the same view.
- Keep
limitsmall during discovery, then widen only after you confirm the endpoint shape and the filter logic you need. - Record the exact URL you used in notes or logs so later analysis can reproduce the same market slice.
Fetch Active Markets
bash
curl "https://gamma-api.polymarket.com/markets?active=true&limit=20"
- This returns a JSON list of market objects.
- Use small limits during exploration and larger limits when building a topic watcher.
Important Market Fields
questionoutcomesoutcomePricesvolume
These are usually enough for first-pass research.
Additional Fields to Inspect
- Inspect
slugwhen you need a stable human-readable identifier for later lookups or reporting. - Inspect
endDateor other settlement timing fields when the timing of resolution matters more than the headline probability. - Inspect
liquiditywhen present to separate tradeable markets from thin markets that move on little size. - Inspect
activeandclosedto keep live monitoring separate from post-resolution analysis. - Inspect
category,tags, or related event metadata when you need to group markets into a watcher by theme. - Inspect
conditionIdor token identifiers when you need to correlate market data across downstream systems.
Interpret the Data
questionis the market prompt.outcomeslists the named outcomes, oftenYesandNo.outcomePricesrepresents the current market-implied probabilities.volumehelps indicate liquidity and how much weight to assign the price signal.
Probability Interpretation
- Interpret a price like
0.65as roughly a 65 percent implied chance. - Lower-liquidity markets may be noisier.
- High probability is not certainty.
- Large probability moves over time can matter more than a single point estimate.
Python Example
python
import requestsurl = "https://gamma-api.polymarket.com/markets?active=true&limit=20"markets = requests.get(url, timeout=20).json()for market in markets:question = market.get("question")prices = market.get("outcomePrices")print(question, prices)
- This is the minimum useful fetch loop.
- Add defensive parsing because API field presence can vary.
Error Handling and Parsing Rules
- Call
response.raise_for_status()before parsing JSON so transport failures are not mistaken for empty market sets. - Normalize the response into a list even if the endpoint returns a single object or a wrapped payload.
- Parse
outcomesandoutcomePricesdefensively because some clients expose them as serialized JSON strings. - Skip a market if the number of outcomes does not match the number of prices, and log the
questionfor review. - Treat missing
volumeorliquidityas a low-confidence signal instead of silently trusting the quoted price. - Drop closed or inactive markets from live-monitoring runs unless the task is explicitly about settlement or historical analysis.
- Return the raw market object when the schema changes and your parser no longer finds the expected keys.
Filter by Category or Keyword
- Filter by category when tracking a domain like politics, crypto, or macro.
- Filter by keyword when you care about a specific topic such as
tariffs,Fed, orOpenAI. - Keep the raw result set if you want to backtest or compare price movement later.
Simple pattern:
python
keyword = "election"filtered = [m for m in marketsif keyword.lower() in (m.get("question", "")).lower()]
Concrete Workflows
- Track a single topic with
curlandjq.
bash
curl -s "https://gamma-api.polymarket.com/markets?active=true&limit=100" \| jq -r '.[] | select((.question // "") | ascii_downcase | contains("fed")) | [.question, .outcomePrices, .volume] | @tsv'
- Save a reproducible snapshot before doing interpretation.
bash
mkdir -p data/polymarketcurl -s "https://gamma-api.polymarket.com/markets?active=true&limit=100" \-o "data/polymarket/markets_$(date +%Y%m%d_%H%M%S).json"
- Filter to liquid markets in Python before ranking.
python
import requestsmarkets = requests.get("https://gamma-api.polymarket.com/markets?active=true&limit=100",timeout=20,).json()liquid = [m for m in marketsif float(m.get("volume") or 0) >= 10000]
Use these workflows for headline watchers, event-specific dashboards, and daily probability snapshots that need to be comparable over time.
Research Use Cases
- calibration research
- current event probabilities
- forecasting support
- comparing market odds to analyst narratives
- monitoring how expectations move after news breaks
Practical Workflow
- Pull active markets.
- Filter to the topic you care about.
- Extract
question,outcomes,outcomePrices, andvolume. - Rank by liquidity or relevance.
- Compare probability shifts over time for insight.
Caveats
- Prediction markets reflect tradable sentiment, not guaranteed truth.
- Low volume can distort the apparent probability.
- Market structure and fees can affect behavior.
- Always interpret results in context of liquidity and market design.
Summary
- Use Polymarket for research into crowd-implied probabilities on real-world events.
- Start with
https://clob.polymarket.com/and fetch active markets viahttps://gamma-api.polymarket.com/markets?active=true&limit=20. - Useful market fields include
question,outcomes,outcomePrices, andvolume. - A price such as
0.65can be read as about a 65 percent implied chance. - Use simple Python
requestsscripts orcurl, then filter by category or keyword for forecasting and calibration workflows.