New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Prediction markets data - Polymarket, Kalshi markets, prices

Dome - Prediction Markets API

by gooseworks-ai · MIT license · ★ 1,220 on GitHub · updated Sep 21

Dome - Prediction Markets API cover

Prediction markets data - Polymarket, Kalshi markets, prices, positions, and trades

---
name: prediction-markets-dome
description: Prediction markets data - Polymarket, Kalshi markets, prices, positions, and trades
source: orthogonal
---


# Dome - Prediction Markets API

## Setup

Read your credentials from ~/.gooseworks/credentials.json:
```bash
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`

Overview

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

What you get

  • Orderbook HistoryFetches historical orderbook snapshots for a specific Kalshi market (ticker) over a specified time range
  • Market PriceFetches the current market price for a market by token_id
  • Market PriceFetches the current market price for a Kalshi market by market_ticker
  • Trade HistoryFetches historical trade data for Kalshi markets with optional filtering by ticker and time range
  • Sport by DateFind equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc
  • SportsFind equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc
Manual install (npx, ZIP)
Claude Codenpx skills add gooseworks-ai/goose-skills --skill prediction-markets-dome -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \ | tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/research-tools/capabilities/prediction-markets-dome
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/4174f53672fc2738c997/prediction-markets-dome.zip" -OutFile "$env:TEMP\prediction-markets-dome.zip"; Expand-Archive "$env:TEMP\prediction-markets-dome.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md18.7 KB
  • skill.meta.json301 B
Read the files here
gooseworks-ai/615c6852 files
SKILL.md
Show the full text348 lines

Dome - Prediction Markets API

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"

Access data from Polymarket and Kalshi prediction markets.

Capabilities

  • Orderbook History: Fetches historical orderbook snapshots for a specific Kalshi market (ticker) over a specified time range
  • Market Price: Fetches the current market price for a market by token_id
  • Market Price: Fetches the current market price for a Kalshi market by market_ticker
  • Trade History: Fetches historical trade data for Kalshi markets with optional filtering by ticker and time range
  • Sport by Date: Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc
  • Sports: Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc
  • Positions: Fetches all Polymarket positions for a proxy wallet address
  • Binance Prices: Fetches historical crypto price data from Binance
  • Activity: Fetches activity data for a specific user with optional filtering by market, condition, and time range
  • Markets: Find markets on Polymarket using various filters including the ability to search
  • Orderbook History: Fetches historical orderbook snapshots for a specific asset (token ID) over a specified time range
  • Wallet: Fetches wallet information by providing either an EOA (Externally Owned Account) address or a proxy wallet address
  • Candlesticks: Fetches historical candlestick data for a market identified by condition_id, over a specified interval
  • Chainlink Prices: Fetches historical crypto price data from Chainlink
  • Wallet Profit-and-Loss: Fetches the realized profit and loss (PnL) for a specific wallet address over a specified time range and granularity
  • Trade History: Fetches historical trade data with optional filtering by market, condition, token, time range, and user’s wallet address
  • Markets: Find markets on Kalshi using various filters including market ticker, event ticker, status, and volume

Usage

Orderbook History

Fetches historical orderbook snapshots for a specific Kalshi market (ticker) over a specified time range. If no start_time and end_time are provided, returns the latest orderbook snapshot for the market.

Parameters:

  • ticker* (string) - The Kalshi market ticker
  • start_time (integer) - Start time in Unix timestamp (milliseconds). Optional - if not provided along with end_time, returns the latest orderbook snapshot.
  • end_time (integer) - End time in Unix timestamp (milliseconds). Optional - if not provided along with start_time, returns the latest orderbook snapshot.
  • limit (integer) - Maximum number of snapshots to return (default: 100, max: 200). Ignored when fetching the latest orderbook without start_time and end_time.
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/orderbooks","query":{"ticker":"{ticker}"}}'
Market Price

Fetches the current market price for a market by token_id. Allows historical lookups via the at_time query parameter.

Parameters:

  • at_time (integer) - Optional Unix timestamp (in seconds) to fetch a historical market price. If not provided, returns the most real-time price available.
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/market-price/{token_id}"}'
Market Price

Fetches the current market price for a Kalshi market by market_ticker. Returns prices for both yes and no sides. Allows historical lookups via the at_time query parameter.

Parameters:

  • at_time (integer) - Optional Unix timestamp (in seconds) to fetch a historical market price. If not provided, returns the most real-time price available.
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/market-price/{market_ticker}"}'
Trade History

Fetches historical trade data for Kalshi markets with optional filtering by ticker and time range. Returns executed trades with pricing, volume, and taker side information. All timestamps are in seconds.

Parameters:

  • ticker (string) - The Kalshi market ticker to filter trades
  • start_time (integer) - Start time in Unix timestamp (seconds)
  • end_time (integer) - End time in Unix timestamp (seconds)
  • limit (integer) - Maximum number of trades to return (default: 100)
  • offset (integer) - Number of trades to skip for pagination
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/trades","query":{"ticker":"{ticker}"}}'
Sport by Date

Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc.) for sports events by sport and date.

Parameters:

  • date* (string) - The date to find matching markets for in YYYY-MM-DD format
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","query":{"date":"2024-03-01"}}'
Sports

Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc.) for sports events using a Polymarket market slug or a Kalshi event ticker.

Parameters:

  • polymarket_market_slug (string[]) - The Polymarket market slug(s) to find matching markets for. To get multiple markets at once, provide the query param multiple times with different slugs. Can not be combined with kalshi_event_ticker.
  • kalshi_event_ticker (string[]) - The Kalshi event ticker(s) to find matching markets for. To get multiple markets at once, provide the query param multiple times with different tickers. Can not be combined with polymarket_market_slug.
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"}'
Positions

Fetches all Polymarket positions for a proxy wallet address. Returns positions with balance >= 10,000 shares (0.01 normalized) with market info.

Parameters:

  • limit (integer) - Maximum number of positions to return per page. Defaults to 100, maximum 100.
  • pagination_key (string) - Pagination key returned from previous request to fetch next page of results
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/positions/wallet/{wallet_address}"}'
Binance Prices

Fetches historical crypto price data from Binance. Returns price data for a specific currency pair over an optional time range. When no time range is provided, returns the most recent price. All timestamps are in Unix milliseconds.

Parameters:

  • currency* (string) - The currency pair symbol. Must be lowercase alphanumeric with no separators (e.g., btcusdt, ethusdt, solusdt, xrpusdt).
  • start_time (integer) - Start time in Unix timestamp (milliseconds). If not provided along with end_time, returns the most recent price (limit 1).
  • end_time (integer) - End time in Unix timestamp (milliseconds). If not provided along with start_time, returns the most recent price (limit 1).
  • limit (integer) - Maximum number of prices to return (default: 100, max: 100). When no time range is provided, limit is automatically set to 1.
  • pagination_key (string) - Pagination key (base64-encoded) to fetch the next page of results. Returned in the response when more data is available.
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":"/crypto-prices/binance","query":{"currency":"btcusdt"}}'
Activity

Fetches activity data for a specific user with optional filtering by market, condition, and time range. Returns trading activity including MERGES, SPLITS, and REDEEMS.

Parameters:

  • user* (string) - User wallet address to fetch activity for
  • start_time (integer) - Filter activity from this Unix timestamp in seconds (inclusive)
  • end_time (integer) - Filter activity until this Unix timestamp in seconds (inclusive)
  • market_slug (string) - Filter activity by market slug
  • condition_id (string) - Filter activity by condition ID
  • limit (integer) - Number of activities to return (1-1000)
  • offset (integer) - Number of activities to skip for pagination
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","query":{"user":"{wallet_address}"}}'
Markets

Find markets on Polymarket using various filters including the ability to search

Parameters:

  • market_slug (string[]) - Filter markets by market slug(s). Can provide multiple values.
  • event_slug (string[]) - Filter markets by event slug(s). Can provide multiple values.
  • condition_id (string[]) - Filter markets by condition ID(s). Can provide multiple values.
  • tags (string[]) - Filter markets by tag(s). Can provide multiple values.
  • search (string) - Search markets by keywords in title and description. Must be URL encoded (e.g., 'bitcoin%20price' for 'bitcoin price').
  • status (enum<string>) - Filter markets by status (whether they're open or closed)
  • min_volume (number) - Filter markets with total trading volume greater than or equal to this amount (USD)
  • limit (integer) - Number of markets to return (1-100). Default: 10 for search, 10 for regular queries.
  • offset (integer) - Number of markets to skip for pagination
  • start_time (integer) - Filter markets from this Unix timestamp in seconds (inclusive)
  • end_time (integer) - Filter markets until this Unix timestamp in seconds (inclusive)
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"}}'
Orderbook History

Fetches historical orderbook snapshots for a specific asset (token ID) over a specified time range. If no start_time and end_time are provided, returns the latest orderbook snapshot for the market.

Parameters:

  • token_id* (string) - The token id (asset) for the Polymarket market
  • start_time (integer) - Start time in Unix timestamp (milliseconds). Optional - if not provided along with end_time, returns the latest orderbook snapshot.
  • end_time (integer) - End time in Unix timestamp (milliseconds). Optional - if not provided along with start_time, returns the latest orderbook snapshot.
  • limit (integer) - Maximum number of snapshots to return (default: 100, max: 200). Ignored when fetching the latest orderbook without start_time and end_time.
  • pagination_key (string) - Pagination key to get the next chunk of data. Ignored when fetching the latest orderbook without start_time and end_time.
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/orderbooks","query":{"token_id":"{token_id}"}}'
Wallet

Fetches wallet information by providing either an EOA (Externally Owned Account) address or a proxy wallet address. Returns the associated EOA, proxy, and wallet type. Optionally returns trading metrics including total volume, number of trades, and unique markets traded when with_metrics=true.

Parameters:

  • eoa (string) - EOA (Externally Owned Account) wallet address. Either eoa or proxy must be provided, but not both.
  • proxy (string) - Proxy wallet address. Either eoa or proxy must be provided, but not both.
  • with_metrics (enum<string>) - Whether to include wallet trading metrics (total volume, trades, and markets). Pass true to include metrics. Metrics are computed only when explicitly requested for performance reasons.
  • start_time (integer) - Optional start date for metrics calculation (Unix timestamp in seconds). Only used when with_metrics=true.
  • end_time (integer) - Optional end date for metrics calculation (Unix timestamp in seconds). Only used when with_metrics=true.
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/wallet","query":{"address":"{wallet_address}"}}'
Candlesticks

Fetches historical candlestick data for a market identified by condition_id, over a specified interval.

Parameters:

  • start_time* (integer) - Unix timestamp (in seconds) for start of time range
  • end_time* (integer) - Unix timestamp (in seconds) for end of time range
  • interval (enum<integer>) - Interval length: 1 = 1m, 60 = 1h, 1440 = 1d. Defaults to 1m. ⚠️ Note: There are range limits for interval — specifically: 1 (1m): max range 1 week 60 (1h): max range 1 month 1440 (1d): max range 1 year
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/candlesticks/{condition_id}","query":{"interval":"1h"}}'

Fetches historical crypto price data from Chainlink. Returns price data for a specific currency pair over an optional time range. When no time range is provided, returns the most recent price. All timestamps are in Unix milliseconds. Currency format: slash-separated (e.g., btc/usd, eth/usd).

Parameters:

  • currency* (string) - The currency pair symbol. Must be slash-separated (e.g., btc/usd, eth/usd, sol/usd, xrp/usd).
  • start_time (integer) - Start time in Unix timestamp (milliseconds). If not provided along with end_time, returns the most recent price (limit 1).
  • end_time (integer) - End time in Unix timestamp (milliseconds). If not provided along with start_time, returns the most recent price (limit 1).
  • limit (integer) - Maximum number of prices to return (default: 100, max: 100). When no time range is provided, limit is automatically set to 1.
  • pagination_key (string) - Pagination key (base64-encoded) to fetch the next page of results. Returned in the response when more data is available.
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":"/crypto-prices/chainlink","query":{"currency":"btc/usd"}}'
Wallet Profit-and-Loss

Fetches the realized profit and loss (PnL) for a specific wallet address over a specified time range and granularity. Note: This will differ to what you see on Polymarket’s dashboard since Polymarket showcases historical unrealized PnL.

Parameters:

  • granularity* (enum<string>) - Example: "day"
  • start_time (integer) - Defaults to first day of first trade if not provided.
  • end_time (integer) - Defaults to the current date if not provided.
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/wallet/pnl/{wallet_address}"}'
Trade History

Fetches historical trade data with optional filtering by market, condition, token, time range, and user’s wallet address.

Parameters:

  • market_slug (string) - Filter orders by market slug
  • condition_id (string) - Filter orders by condition ID
  • token_id (string) - Filter orders by token ID
  • start_time (integer) - Filter orders from this Unix timestamp in seconds (inclusive)
  • end_time (integer) - Filter orders until this Unix timestamp in seconds (inclusive)
  • limit (integer) - Number of orders to return (1-1000)
  • offset (integer) - Number of orders to skip for pagination
  • user (string) - Filter orders by user (wallet address)
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","query":{"market":"{market_id}"}}'
Markets

Find markets on Kalshi using various filters including market ticker, event ticker, status, and volume

Parameters:

  • market_ticker (string[]) - Filter markets by market ticker(s). Can provide multiple values.
  • event_ticker (string[]) - Filter markets by event ticker(s). Can provide multiple values.
  • search (string) - Search markets by keywords in title and description. Must be URL encoded (e.g., 'bitcoin%20price' for 'bitcoin price').
  • status (enum<string>) - Filter markets by status (whether they're open or closed)
  • min_volume (number) - Filter markets with total trading volume greater than or equal to this amount (in dollars)
  • limit (integer) - Number of markets to return (1-100). Default: 10.
  • offset (integer) - Number of markets to skip for pagination
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","query":{"search":"fed%20rate"}}'

Use Cases

  1. Market Research: Track prediction market sentiment
  2. Trading Analysis: Analyze historical prices and orderbooks
  3. Portfolio Tracking: Monitor positions and P&L
  4. Arbitrage: Find price differences across platforms
  5. Forecasting: Use market prices as probability estimates

Discover More

For full endpoint details and parameters:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"dome API endpoints"}' List all endpoints
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"dome","path":"/kalshi/orderbooks"}'   # Get endpoint details
1---
2name: prediction-markets-dome
3description: Prediction markets data - Polymarket, Kalshi markets, prices, positions, and trades
4source: orthogonal
5---
6 
7 
8# Dome - Prediction Markets API
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 
23Access data from Polymarket and Kalshi prediction markets.
24 
25## Capabilities
26 
27- **Orderbook History**: Fetches historical orderbook snapshots for a specific Kalshi market (ticker) over a specified time range
28- **Market Price**: Fetches the current market price for a market by token_id
29- **Market Price**: Fetches the current market price for a Kalshi market by market_ticker
30- **Trade History**: Fetches historical trade data for Kalshi markets with optional filtering by ticker and time range
31- **Sport by Date**: Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc
32- **Sports**: Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc
33- **Positions**: Fetches all Polymarket positions for a proxy wallet address
34- **Binance Prices**: Fetches historical crypto price data from Binance
35- **Activity**: Fetches activity data for a specific user with optional filtering by market, condition, and time range
36- **Markets**: Find markets on Polymarket using various filters including the ability to search
37- **Orderbook History**: Fetches historical orderbook snapshots for a specific asset (token ID) over a specified time range
38- **Wallet**: Fetches wallet information by providing either an EOA (Externally Owned Account) address or a proxy wallet address
39- **Candlesticks**: Fetches historical candlestick data for a market identified by condition_id, over a specified interval
40- **Chainlink Prices**: Fetches historical crypto price data from Chainlink
41- **Wallet Profit-and-Loss**: Fetches the realized profit and loss (PnL) for a specific wallet address over a specified time range and granularity
42- **Trade History**: Fetches historical trade data with optional filtering by market, condition, token, time range, and user’s wallet address
43- **Markets**: Find markets on Kalshi using various filters including market ticker, event ticker, status, and volume
44 
45## Usage
46 
47### Orderbook History
48Fetches historical orderbook snapshots for a specific Kalshi market (ticker) over a specified time range. If no start_time and end_time are provided, returns the latest orderbook snapshot for the market.
49 
50Parameters:
51- ticker* (string) - The Kalshi market ticker
52- start_time (integer) - Start time in Unix timestamp (milliseconds). Optional - if not provided along with end_time, returns the latest orderbook snapshot.
53- end_time (integer) - End time in Unix timestamp (milliseconds). Optional - if not provided along with start_time, returns the latest orderbook snapshot.
54- limit (integer) - Maximum number of snapshots to return (default: 100, max: 200). Ignored when fetching the latest orderbook without start_time and end_time.
55 
56```bash
57curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
58 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
59 -H "Content-Type: application/json" \
60 -d '{"api":"dome","path":"/kalshi/orderbooks","query":{"ticker":"{ticker}"}}'
61```
62 
63### Market Price
64Fetches the current market price for a market by token_id. Allows historical lookups via the at_time query parameter.
65 
66Parameters:
67- at_time (integer) - Optional Unix timestamp (in seconds) to fetch a historical market price. If not provided, returns the most real-time price available.
68 
69```bash
70curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
71 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
72 -H "Content-Type: application/json" \
73 -d '{"api":"dome","path":"/polymarket/market-price/{token_id}"}'
74```
75 
76### Market Price
77Fetches the current market price for a Kalshi market by market_ticker. Returns prices for both yes and no sides. Allows historical lookups via the at_time query parameter.
78 
79Parameters:
80- at_time (integer) - Optional Unix timestamp (in seconds) to fetch a historical market price. If not provided, returns the most real-time price available.
81 
82```bash
83curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
84 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
85 -H "Content-Type: application/json" \
86 -d '{"api":"dome","path":"/kalshi/market-price/{market_ticker}"}'
87```
88 
89### Trade History
90Fetches historical trade data for Kalshi markets with optional filtering by ticker and time range. Returns executed trades with pricing, volume, and taker side information. All timestamps are in seconds.
91 
92Parameters:
93- ticker (string) - The Kalshi market ticker to filter trades
94- start_time (integer) - Start time in Unix timestamp (seconds)
95- end_time (integer) - End time in Unix timestamp (seconds)
96- limit (integer) - Maximum number of trades to return (default: 100)
97- offset (integer) - Number of trades to skip for pagination
98 
99```bash
100curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
101 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
102 -H "Content-Type: application/json" \
103 -d '{"api":"dome","path":"/kalshi/trades","query":{"ticker":"{ticker}"}}'
104```
105 
106### Sport by Date
107Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc.) for sports events by sport and date.
108 
109Parameters:
110- date* (string) - The date to find matching markets for in YYYY-MM-DD format
111 
112```bash
113curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
114 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
115 -H "Content-Type: application/json" \
116 -d '{"api":"dome","path":"/matching-markets/sports/nba","query":{"date":"2024-03-01"}}'
117```
118 
119### Sports
120Find equivalent markets across different prediction market platforms (Polymarket, Kalshi, etc.) for sports events using a Polymarket market slug or a Kalshi event ticker.
121 
122Parameters:
123- polymarket_market_slug (string[]) - The Polymarket market slug(s) to find matching markets for. To get multiple markets at once, provide the query param multiple times with different slugs. Can not be combined with kalshi_event_ticker.
124- kalshi_event_ticker (string[]) - The Kalshi event ticker(s) to find matching markets for. To get multiple markets at once, provide the query param multiple times with different tickers. Can not be combined with polymarket_market_slug.
125 
126```bash
127curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
128 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
129 -H "Content-Type: application/json" \
130 -d '{"api":"dome","path":"/matching-markets/sports"}'
131```
132 
133### Positions
134Fetches all Polymarket positions for a proxy wallet address. Returns positions with balance >= 10,000 shares (0.01 normalized) with market info.
135 
136Parameters:
137- limit (integer) - Maximum number of positions to return per page. Defaults to 100, maximum 100.
138- pagination_key (string) - Pagination key returned from previous request to fetch next page of results
139 
140```bash
141curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
142 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
143 -H "Content-Type: application/json" \
144 -d '{"api":"dome","path":"/polymarket/positions/wallet/{wallet_address}"}'
145```
146 
147### Binance Prices
148Fetches historical crypto price data from Binance. Returns price data for a specific currency pair over an optional time range. When no time range is provided, returns the most recent price. All timestamps are in Unix milliseconds.
149 
150Parameters:
151- currency* (string) - The currency pair symbol. Must be lowercase alphanumeric with no separators (e.g., btcusdt, ethusdt, solusdt, xrpusdt).
152- start_time (integer) - Start time in Unix timestamp (milliseconds). If not provided along with end_time, returns the most recent price (limit 1).
153- end_time (integer) - End time in Unix timestamp (milliseconds). If not provided along with start_time, returns the most recent price (limit 1).
154- limit (integer) - Maximum number of prices to return (default: 100, max: 100). When no time range is provided, limit is automatically set to 1.
155- pagination_key (string) - Pagination key (base64-encoded) to fetch the next page of results. Returned in the response when more data is available.
156 
157```bash
158curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
159 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
160 -H "Content-Type: application/json" \
161 -d '{"api":"dome","path":"/crypto-prices/binance","query":{"currency":"btcusdt"}}'
162```
163 
164### Activity
165Fetches activity data for a specific user with optional filtering by market, condition, and time range. Returns trading activity including MERGES, SPLITS, and REDEEMS.
166 
167Parameters:
168- user* (string) - User wallet address to fetch activity for
169- start_time (integer) - Filter activity from this Unix timestamp in seconds (inclusive)
170- end_time (integer) - Filter activity until this Unix timestamp in seconds (inclusive)
171- market_slug (string) - Filter activity by market slug
172- condition_id (string) - Filter activity by condition ID
173- limit (integer) - Number of activities to return (1-1000)
174- offset (integer) - Number of activities to skip for pagination
175 
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":"/polymarket/activity","query":{"user":"{wallet_address}"}}'
181```
182 
183### Markets
184Find markets on Polymarket using various filters including the ability to search
185 
186Parameters:
187- market_slug (string[]) - Filter markets by market slug(s). Can provide multiple values.
188- event_slug (string[]) - Filter markets by event slug(s). Can provide multiple values.
189- condition_id (string[]) - Filter markets by condition ID(s). Can provide multiple values.
190- tags (string[]) - Filter markets by tag(s). Can provide multiple values.
191- search (string) - Search markets by keywords in title and description. Must be URL encoded (e.g., 'bitcoin%20price' for 'bitcoin price').
192- status (enum<string>) - Filter markets by status (whether they're open or closed)
193- min_volume (number) - Filter markets with total trading volume greater than or equal to this amount (USD)
194- limit (integer) - Number of markets to return (1-100). Default: 10 for search, 10 for regular queries.
195- offset (integer) - Number of markets to skip for pagination
196- start_time (integer) - Filter markets from this Unix timestamp in seconds (inclusive)
197- end_time (integer) - Filter markets until this Unix timestamp in seconds (inclusive)
198 
199```bash
200curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
201 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
202 -H "Content-Type: application/json" \
203 -d '{"api":"dome","path":"/polymarket/markets","query":{"search":"election"}}'
204```
205 
206### Orderbook History
207Fetches historical orderbook snapshots for a specific asset (token ID) over a specified time range. If no start_time and end_time are provided, returns the latest orderbook snapshot for the market.
208 
209Parameters:
210- token_id* (string) - The token id (asset) for the Polymarket market
211- start_time (integer) - Start time in Unix timestamp (milliseconds). Optional - if not provided along with end_time, returns the latest orderbook snapshot.
212- end_time (integer) - End time in Unix timestamp (milliseconds). Optional - if not provided along with start_time, returns the latest orderbook snapshot.
213- limit (integer) - Maximum number of snapshots to return (default: 100, max: 200). Ignored when fetching the latest orderbook without start_time and end_time.
214- pagination_key (string) - Pagination key to get the next chunk of data. Ignored when fetching the latest orderbook without start_time and end_time.
215 
216```bash
217curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
218 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
219 -H "Content-Type: application/json" \
220 -d '{"api":"dome","path":"/polymarket/orderbooks","query":{"token_id":"{token_id}"}}'
221```
222 
223### Wallet
224Fetches wallet information by providing either an EOA (Externally Owned Account) address or a proxy wallet address. Returns the associated EOA, proxy, and wallet type. Optionally returns trading metrics including total volume, number of trades, and unique markets traded when with_metrics=true.
225 
226Parameters:
227- eoa (string) - EOA (Externally Owned Account) wallet address. Either eoa or proxy must be provided, but not both.
228- proxy (string) - Proxy wallet address. Either eoa or proxy must be provided, but not both.
229- with_metrics (enum<string>) - Whether to include wallet trading metrics (total volume, trades, and markets). Pass true to include metrics. Metrics are computed only when explicitly requested for performance reasons.
230- start_time (integer) - Optional start date for metrics calculation (Unix timestamp in seconds). Only used when with_metrics=true.
231- end_time (integer) - Optional end date for metrics calculation (Unix timestamp in seconds). Only used when with_metrics=true.
232 
233```bash
234curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
235 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
236 -H "Content-Type: application/json" \
237 -d '{"api":"dome","path":"/polymarket/wallet","query":{"address":"{wallet_address}"}}'
238```
239 
240### Candlesticks
241Fetches historical candlestick data for a market identified by condition_id, over a specified interval.
242 
243Parameters:
244- start_time* (integer) - Unix timestamp (in seconds) for start of time range
245- end_time* (integer) - Unix timestamp (in seconds) for end of time range
246- interval (enum<integer>) - Interval length: 1 = 1m, 60 = 1h, 1440 = 1d. Defaults to 1m. ⚠️ Note: There are range limits for interval — specifically: 1 (1m): max range 1 week 60 (1h): max range 1 month 1440 (1d): max range 1 year
247 
248```bash
249curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
250 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
251 -H "Content-Type: application/json" \
252 -d '{"api":"dome","path":"/polymarket/candlesticks/{condition_id}","query":{"interval":"1h"}}'
253```
254 
255### Chainlink Prices
256Fetches historical crypto price data from Chainlink. Returns price data for a specific currency pair over an optional time range. When no time range is provided, returns the most recent price. All timestamps are in Unix milliseconds. Currency format: slash-separated (e.g., btc/usd, eth/usd).
257 
258Parameters:
259- currency* (string) - The currency pair symbol. Must be slash-separated (e.g., btc/usd, eth/usd, sol/usd, xrp/usd).
260- start_time (integer) - Start time in Unix timestamp (milliseconds). If not provided along with end_time, returns the most recent price (limit 1).
261- end_time (integer) - End time in Unix timestamp (milliseconds). If not provided along with start_time, returns the most recent price (limit 1).
262- limit (integer) - Maximum number of prices to return (default: 100, max: 100). When no time range is provided, limit is automatically set to 1.
263- pagination_key (string) - Pagination key (base64-encoded) to fetch the next page of results. Returned in the response when more data is available.
264 
265```bash
266curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
267 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
268 -H "Content-Type: application/json" \
269 -d '{"api":"dome","path":"/crypto-prices/chainlink","query":{"currency":"btc/usd"}}'
270```
271 
272### Wallet Profit-and-Loss
273Fetches the realized profit and loss (PnL) for a specific wallet address over a specified time range and granularity. Note: This will differ to what you see on Polymarket’s dashboard since Polymarket showcases historical unrealized PnL.
274 
275Parameters:
276- granularity* (enum<string>) - Example: "day"
277- start_time (integer) - Defaults to first day of first trade if not provided.
278- end_time (integer) - Defaults to the current date if not provided.
279 
280```bash
281curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
282 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
283 -H "Content-Type: application/json" \
284 -d '{"api":"dome","path":"/polymarket/wallet/pnl/{wallet_address}"}'
285```
286 
287### Trade History
288Fetches historical trade data with optional filtering by market, condition, token, time range, and user’s wallet address.
289 
290Parameters:
291- market_slug (string) - Filter orders by market slug
292- condition_id (string) - Filter orders by condition ID
293- token_id (string) - Filter orders by token ID
294- start_time (integer) - Filter orders from this Unix timestamp in seconds (inclusive)
295- end_time (integer) - Filter orders until this Unix timestamp in seconds (inclusive)
296- limit (integer) - Number of orders to return (1-1000)
297- offset (integer) - Number of orders to skip for pagination
298- user (string) - Filter orders by user (wallet address)
299 
300```bash
301curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
302 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
303 -H "Content-Type: application/json" \
304 -d '{"api":"dome","path":"/polymarket/orders","query":{"market":"{market_id}"}}'
305```
306 
307### Markets
308Find markets on Kalshi using various filters including market ticker, event ticker, status, and volume
309 
310Parameters:
311- market_ticker (string[]) - Filter markets by market ticker(s). Can provide multiple values.
312- event_ticker (string[]) - Filter markets by event ticker(s). Can provide multiple values.
313- search (string) - Search markets by keywords in title and description. Must be URL encoded (e.g., 'bitcoin%20price' for 'bitcoin price').
314- status (enum<string>) - Filter markets by status (whether they're open or closed)
315- min_volume (number) - Filter markets with total trading volume greater than or equal to this amount (in dollars)
316- limit (integer) - Number of markets to return (1-100). Default: 10.
317- offset (integer) - Number of markets to skip for pagination
318 
319```bash
320curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
321 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
322 -H "Content-Type: application/json" \
323 -d '{"api":"dome","path":"/kalshi/markets","query":{"search":"fed%20rate"}}'
324```
325 
326## Use Cases
327 
3281. **Market Research**: Track prediction market sentiment
3292. **Trading Analysis**: Analyze historical prices and orderbooks
3303. **Portfolio Tracking**: Monitor positions and P&L
3314. **Arbitrage**: Find price differences across platforms
3325. **Forecasting**: Use market prices as probability estimates
333 
334## Discover More
335 
336For full endpoint details and parameters:
337 
338```bash
339curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
340 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
341 -H "Content-Type: application/json" \
342 -d '{"prompt":"dome API endpoints"}' List all endpoints
343curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
344 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
345 -H "Content-Type: application/json" \
346 -d '{"api":"dome","path":"/kalshi/orderbooks"}' # Get endpoint details
347```
348 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 1,220
Checked
Source
gooseworks-ai/goose-skills ↗
Creator
gooseworks-ai · 206 listings
View creator

Made with prediction-markets-dome

Dome - Prediction Markets API — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)
Dome - Prediction Markets API — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)

by gooseworks-ai

Similar skills

See all →
SkillGuides stable API and interface designaddyosmani/agent-skills · by addyosmaniGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.★ 98.7k GitHub starsMCPPulls up-to-date, version-specific library docsContext7upstash/context7 · by upstashPulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.★ 62.3k GitHub starsSkillFetch up-to-date documentation and code examples for anyContext7 Documentation Lookupupstash/context7 · by upstashFetch up-to-date documentation and code examples for any library, framework, SDK, CLI tool, or cloud service. Use whenever the user asks about a specific library — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot — because training data may not reflect recent API changes or version updates. Always use for: API syntax questions, configuration options, version migration issues, "how do I" questions mentioning a library name, debugging that involves library-specific behavior, setup instructions, and CLI tool usage. Use even when you think you know the answer. Do not rely on training data for API details, signatures, or configuration options — they are frequently out of date. Prefer this over web search for library documentation.★ 62.3k GitHub starsSkillHow to use the Adaptyv Bio Foundry API and Python SDKK-Dense-AI/scientific-agent-skills · by K-Dense-AIHow 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`.★ 46k GitHub starsSkillMaster C/.NET backend development patterns for buildingwshobson/agents · by wshobsonMaster 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.★ 39.9k GitHub starsSkillGuides the usage of Gemini Interactions API on GeminiGemini Interactions API Skillgoogle/skills · by googleGuides the usage of Gemini Interactions API on Gemini Enterprise Agent Platform. Use when the user wants to use the stateful, server-managed Interactions API for multi-turn conversations, background execution, streaming, structured output, and function calling on the Agent Platform.★ 20.9k GitHub stars

More from gooseworks-ai

SkillMine the highest-converting ad angles from customer reviewsAd angle minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillAnalyze ad campaign performance data to identify what'sAd campaign analyzergooseworks-ai/goose-skills · by gooseworks-aiAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.★ 1.2k GitHub starsSkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzergooseworks-ai/goose-skills · by gooseworks-aiFor paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.★ 1.2k GitHub starsSkillAnalyze the message match between your ads and landing pagesAd to landing page auditorgooseworks-ai/goose-skills · by gooseworks-aiAnalyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.★ 1.2k GitHub starsSkillCheck and improve your brand's visibility across AI searchAeogooseworks-ai/goose-skills · by gooseworks-aiCheck and improve your brand's visibility across AI search engines (ChatGPT, Perplexity, Gemini, Grok, Claude, DeepSeek). Set up tracking, run visibility analyses, audit your website for AI readability, and get actionable recommendations. Uses the npx goose-aeo@latest CLI.★ 1.2k GitHub starsSkillSearch Amazon products - find items, compare pricesAmazon Product Searchgooseworks-ai/goose-skills · by gooseworks-aiSearch Amazon products - find items, compare prices, read reviews★ 1.2k GitHub stars