Prediction market odds

Get prediction market odds and prices from Polymarket and Kalshi

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/prediction-market-odds#main ~/.claude/skills/prediction-market-odds

For one project only, change the path to .claude/skills/prediction-market-odds.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text204 lines
prediction-market-odds/SKILL.md204 lines6.2 KBpushed 96d agoRawView on GitHub

Prediction Market Odds

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Get current odds, prices, and market data from prediction markets like Polymarket and Kalshi.

When to Use

  • User asks about prediction market odds
  • User wants to know probability of an event
  • User asks "what are the odds of [event]?"
  • Research on market sentiment
  • Election or event probability checks

How It Works

Uses the Dome API to aggregate prediction market data from Polymarket and Kalshi.

Usage

Get Polymarket Markets

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/markets","query":{"status":"open"}}'

curl equivalent

curl -X POST "https://api.orth.sh/v1/run" \

  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/markets"}'

Search Markets

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/markets","query":{"search":"election"}}'

Get Kalshi Markets

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/kalshi/markets"}'

Get Polymarket Activity

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/activity"}'

Get Market Orders

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/orders"}'

Get Sports Markets

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/matching-markets/sports"}'

Get Specific Sport Markets

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/matching-markets/sports/nba"}'

Supported Sports

  • nba
  • nfl
  • mlb
  • nhl
  • soccer
  • tennis

Response

Markets Response (/polymarket/markets, /kalshi/markets)

Returns markets array:

  • title (string) - Market question (e.g., "Will Trump nationalize elections?")
  • market_slug (string) - URL-friendly identifier
  • condition_id (string) - Blockchain condition ID
  • start_time / end_time (integer) - Unix timestamps
  • completed_time (integer|null) - Null if still open
  • tags (array) - Category tags (e.g., ["politics", "us election"])
  • volume_1_week / volume_1_month / volume_1_year / volume_total (number) - Trading volume in USD
  • side_a / side_b (object) - id and label (typically "Yes"/"No")
  • winning_side (object|null) - Null if unresolved
  • image (string) - Market thumbnail URL

Activity Response (/polymarket/activity)

Returns activities array:

  • title (string) - Market title
  • market_slug (string) - Market identifier
  • side (string) - Trade side: BUY, SELL, or MERGE
  • shares (integer) - Raw share amount
  • shares_normalized (number) - Human-readable share amount
  • price (number) - Trade price (0-1, represents probability)
  • timestamp (integer) - Unix timestamp of the trade
  • user (string) - Wallet address of the trader
  • tx_hash (string) - Blockchain transaction hash

Examples

User: "What are the odds on Polymarket right now?"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/markets","query":{"status":"open"}}'

User: "Show me Kalshi prediction markets"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/kalshi/markets"}'

User: "What's happening in prediction markets?"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/polymarket/activity"}'

User: "Any sports betting markets?"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/matching-markets/sports"}'

Understanding Odds

  • Prices are shown as decimals (0.65 = 65% probability)
  • "Yes" price = probability market thinks event will happen
  • Higher volume = more confidence/liquidity
  • Prices change based on trading activity

Error Handling

  • 400 - search requires status parameter (open or closed) — always include both
  • 401 - Invalid API key
  • 429 - Rate limit — wait and retry
  • Empty markets array means no markets match the search term
  • Activity endpoint returns recent trades globally — no filters required

Tips

  • Check multiple markets for the same event
  • Volume indicates market confidence
  • Recent activity shows sentiment shifts
  • Polymarket focuses on politics/world events, Kalshi on finance/weather
1---
2name: prediction-market-odds
3description: Get prediction market odds and prices from Polymarket and Kalshi
4source: orthogonal
5---
6 
7 
8# Prediction Market Odds
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Get current odds, prices, and market data from prediction markets like Polymarket and Kalshi.
24 
25## When to Use
26 
27- User asks about prediction market odds
28- User wants to know probability of an event
29- User asks "what are the odds of [event]?"
30- Research on market sentiment
31- Election or event probability checks
32 
33## How It Works
34 
35Uses the Dome API to aggregate prediction market data from Polymarket and Kalshi.
36 
37## Usage
38 
39### Get Polymarket Markets
40 
41```bash
42curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
43 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
44 -H "Content-Type: application/json" \
45 -d '{"api":"dome","path":"/polymarket/markets","query":{"status":"open"}}'
46```
47 
48<details>
49<summary>curl equivalent</summary>
50 
51```bash
52curl -X POST "https://api.orth.sh/v1/run" \
53 
54 -H "Content-Type: application/json" \
55 -d '{"api":"dome","path":"/polymarket/markets"}'
56```
57</details>
58 
59### Search Markets
60 
61```bash
62curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
63 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
64 -H "Content-Type: application/json" \
65 -d '{"api":"dome","path":"/polymarket/markets","query":{"search":"election"}}'
66```
67 
68### Get Kalshi Markets
69 
70```bash
71curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
72 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
73 -H "Content-Type: application/json" \
74 -d '{"api":"dome","path":"/kalshi/markets"}'
75```
76 
77### Get Polymarket Activity
78 
79```bash
80curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
81 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
82 -H "Content-Type: application/json" \
83 -d '{"api":"dome","path":"/polymarket/activity"}'
84```
85 
86### Get Market Orders
87 
88```bash
89curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
90 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
91 -H "Content-Type: application/json" \
92 -d '{"api":"dome","path":"/polymarket/orders"}'
93```
94 
95### Get Sports Markets
96 
97```bash
98curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
99 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
100 -H "Content-Type: application/json" \
101 -d '{"api":"dome","path":"/matching-markets/sports"}'
102```
103 
104### Get Specific Sport Markets
105 
106```bash
107curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
108 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
109 -H "Content-Type: application/json" \
110 -d '{"api":"dome","path":"/matching-markets/sports/nba"}'
111```
112 
113## Supported Sports
114 
115- nba
116- nfl
117- mlb
118- nhl
119- soccer
120- tennis
121 
122## Response
123 
124### Markets Response (`/polymarket/markets`, `/kalshi/markets`)
125Returns `markets` array:
126- **title** (string) - Market question (e.g., "Will Trump nationalize elections?")
127- **market_slug** (string) - URL-friendly identifier
128- **condition_id** (string) - Blockchain condition ID
129- **start_time** / **end_time** (integer) - Unix timestamps
130- **completed_time** (integer|null) - Null if still open
131- **tags** (array) - Category tags (e.g., `["politics", "us election"]`)
132- **volume_1_week** / **volume_1_month** / **volume_1_year** / **volume_total** (number) - Trading volume in USD
133- **side_a** / **side_b** (object) - `id` and `label` (typically "Yes"/"No")
134- **winning_side** (object|null) - Null if unresolved
135- **image** (string) - Market thumbnail URL
136 
137### Activity Response (`/polymarket/activity`)
138Returns `activities` array:
139- **title** (string) - Market title
140- **market_slug** (string) - Market identifier
141- **side** (string) - Trade side: `BUY`, `SELL`, or `MERGE`
142- **shares** (integer) - Raw share amount
143- **shares_normalized** (number) - Human-readable share amount
144- **price** (number) - Trade price (0-1, represents probability)
145- **timestamp** (integer) - Unix timestamp of the trade
146- **user** (string) - Wallet address of the trader
147- **tx_hash** (string) - Blockchain transaction hash
148 
149## Examples
150 
151**User:** "What are the odds on Polymarket right now?"
152```bash
153curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
154 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
155 -H "Content-Type: application/json" \
156 -d '{"api":"dome","path":"/polymarket/markets","query":{"status":"open"}}'
157```
158 
159**User:** "Show me Kalshi prediction markets"
160```bash
161curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
162 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
163 -H "Content-Type: application/json" \
164 -d '{"api":"dome","path":"/kalshi/markets"}'
165```
166 
167**User:** "What's happening in prediction markets?"
168```bash
169curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
170 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
171 -H "Content-Type: application/json" \
172 -d '{"api":"dome","path":"/polymarket/activity"}'
173```
174 
175**User:** "Any sports betting markets?"
176```bash
177curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
178 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
179 -H "Content-Type: application/json" \
180 -d '{"api":"dome","path":"/matching-markets/sports"}'
181```
182 
183## Understanding Odds
184 
185- Prices are shown as decimals (0.65 = 65% probability)
186- "Yes" price = probability market thinks event will happen
187- Higher volume = more confidence/liquidity
188- Prices change based on trading activity
189 
190## Error Handling
191 
192- **400** - `search` requires `status` parameter (`open` or `closed`) — always include both
193- **401** - Invalid API key
194- **429** - Rate limit — wait and retry
195- Empty `markets` array means no markets match the search term
196- Activity endpoint returns recent trades globally — no filters required
197 
198## Tips
199 
200- Check multiple markets for the same event
201- Volume indicates market confidence
202- Recent activity shows sentiment shifts
203- Polymarket focuses on politics/world events, Kalshi on finance/weather
204 

Discussion

Alternatives

Also in Services & APIs
Context7Pulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.Coding · MITAdaptyv Bio Foundry APIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.Science · MIT.NET Backend Development PatternsMaster C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.Coding · MITAdd AI protectionProtect AI chat and completion endpoints from abuse — detect prompt injection and jailbreak attempts, block PII and sensitive info from leaking in responses, and enforce token budget rate limits to control costs. Use this skill when the user is building or securing any endpoint that processes user prompts with an LLM, even if they describe it as "preventing jailbreaks," "stopping prompt attacks," "blocking sensitive data," or "controlling AI API costs" rather than naming specific protections.Coding · CC0-1.0