Dome - Prediction Markets API

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

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-markets-dome#main ~/.claude/skills/prediction-markets-dome

For one project only, change the path to .claude/skills/prediction-markets-dome.

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 text348 lines
prediction-markets-dome/SKILL.md348 lines18.7 KBpushed 96d agoRawView on GitHub

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"}}'

Chainlink Prices

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 

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