Appearance
Octagon Prediction Markets Agent
Model Name: octagon-prediction-markets-agent
A conversational research agent for Kalshi prediction markets. Ask questions in natural language to discover markets, screen for gaps between market prices and Octagon's model probabilities, and pull full research reports.
The agent accepts Kalshi market URLs or tickers (e.g. KXFEDDECISION), and can find markets from a plain-English description when you don't have either.
For a full list of supported markets, see octagonai.co/markets.
Billing
- Fresh reports: 3 credits, available to Octagon Plus, Octagon Pro, and Octagon Enterprise users.
- Discovery queries (search, listings, similar markets, edge screening, model history): 1 credit per query.
- Cached reports and conversational replies that don't look up new data (clarifications, follow-ups about the conversation itself): free.
Key Capabilities
- Research Reports. Full analytical reports for any supported Kalshi market — market vs. model probability comparison, catalysts, decision-flipping events, contract snapshots, and historical resolutions.
- Event & Market Discovery. Search events and markets in natural language, with filters like category, series, 24-hour volume, and close date — e.g. "top Financials markets by volume closing before August 1."
- Similar-Market Discovery. Find markets similar to a given ticker or to a free-text description — e.g. "markets like 'Fed cuts rates twice this year'."
- Edge Screening. Screen for markets where Octagon's model probability disagrees most with the market price, ranked by edge, expected return, or volume.
- Model View History. See how the Octagon model's probability for an event has changed over time, alongside the market's.
- Multi-Turn Conversations. Ask follow-ups like "which of those has the best expected return?" — the agent keeps context across turns and suggests relevant next questions.
Fresh vs. Cached Reports
By default, the agent serves a cached report when one is available. Fresh reports (which take several minutes) are generated only when:
- You explicitly ask for one — e.g. "refresh", "regenerate", or "get the latest data" — or
- No cached report exists for the market on the first turn of a conversation, where the agent automatically generates one.
Cached reports and fresh generation are also available as raw REST endpoints — see the Reports API.
Example Prompts
Market Reports
- Retrieve a cached snapshot: "Show me the cached report for https://kalshi.com/markets/kxcolonizemars/colonize-mars/kxcolonizemars-50"
- Full report for any open market: "Analyze https://kalshi.com/markets/kxoaianth/open-ai-vs-anthropic/kxoaianth-40 and give me the full report."
Event Discovery
- Search events by topic: "What Kalshi events are there about the 2026 midterm elections?"
- List the events in a series: "List the open events in the KXIPO series."
- Find events with reports ready: "Which open events about interest rate cuts already have an Octagon report available?"
Market Screening
- Top markets by activity: "Show me the 10 most active Kalshi markets by 24-hour volume."
- Filtered category screen: "List Financials markets closing before September 1, 2026 with at least $10,000 in 24-hour volume."
- Markets within an event: "What markets belong to the KXFED-26SEP event, sorted by last price?"
- Search markets by keyword: "Find Kalshi markets about Fed rate cuts."
Related Markets
- Similar to an existing market: "Which active markets are most similar to KXBTCD-26AUG01-T115000?"
- Markets matching a theme: "Find markets related to 'OpenAI releases a new frontier model this year'."
- Related markets with a liquidity floor: "What politics markets are similar to the government shutdown market, ignoring anything with less than $5,000 in daily volume?"
Edge Screening
- Biggest model-vs-market gaps: "Where does the Octagon model disagree most with Kalshi market prices right now?"
- Edge screen within a category: "Show me Politics markets where the model probability differs from the market price by at least 10 percentage points."
- Best expected return with a volume floor: "Which markets with at least $50,000 in total volume have the highest expected return according to the model?"
Events History
- How the model view evolved: "How has the model's probability for KXOAIANTH-40 changed across analysis runs?"
- History within a date window: "Show the analysis snapshots for KXBALLONDOR-26 captured since June 1, 2026."
- Recent snapshots for one event: "Give me the last 5 model snapshots for KXCOLONIZEMARS-50, including edge and volume."
Follow-Ups
- Refine a previous answer: "Which of those has the best expected return?" → "OK, pull the full report for that one"
Code Examples
Python
response = client.responses.create(
model="octagon-prediction-markets-agent",
input="Where does the Octagon model disagree most with market prices in Politics?",
)JavaScript
const response = await client.responses.create({
model: "octagon-prediction-markets-agent",
input:
"Where does the Octagon model disagree most with market prices in Politics?",
});sh
curl -X POST https://api.octagonai.co/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-octagon-api-key" \
-d '{
"model": "octagon-prediction-markets-agent",
"input": "Where does the Octagon model disagree most with market prices in Politics?",
"stream": true
}' \
--no-bufferRate Limits
Requests to the Prediction Markets Agent share a daily limit across all prediction-markets requests, based on your plan:
| Plan | Daily Requests |
|---|---|
| Starter | 100 |
| Plus | 500 |
| Pro | 10,000 |
| Enterprise | No daily limit |
Credits are charged separately from the daily request limit.
Legacy Model Variants
Legacy
The :cache and :refresh variants are legacy aliases kept for existing integrations. Prefer the base octagon-prediction-markets-agent model — it supports conversations and discovery, and you can ask for a cached or fresh report in natural language.
| Model Name | Description |
|---|---|
octagon-prediction-markets-agent:cache | Legacy. Always retrieves the latest available cached report. Single-shot, URL required. |
octagon-prediction-markets-agent:refresh | Legacy. Always generates a fresh report. Single-shot, URL required. |
Python
# Legacy: always retrieve a cached report
response = client.responses.create(
model="octagon-prediction-markets-agent:cache",
input="https://kalshi.com/markets/kxbtcminy/how-low-will-bitcoin-fall-this-year/kxbtcminy-27jan01",
)
# Legacy: always generate a fresh report
response = client.responses.create(
model="octagon-prediction-markets-agent:refresh",
input="https://kalshi.com/markets/kxbtcminy/how-low-will-bitcoin-fall-this-year/kxbtcminy-27jan01",
)JavaScript
// Legacy: always retrieve a cached report
const cached = await client.responses.create({
model: "octagon-prediction-markets-agent:cache",
input:
"https://kalshi.com/markets/kxbtcminy/how-low-will-bitcoin-fall-this-year/kxbtcminy-27jan01",
});
// Legacy: always generate a fresh report
const fresh = await client.responses.create({
model: "octagon-prediction-markets-agent:refresh",
input:
"https://kalshi.com/markets/kxbtcminy/how-low-will-bitcoin-fall-this-year/kxbtcminy-27jan01",
});sh
# Legacy: always retrieve a cached report
curl -X POST https://api.octagonai.co/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-octagon-api-key" \
-d '{
"model": "octagon-prediction-markets-agent:cache",
"input": "https://kalshi.com/markets/kxbtcminy/how-low-will-bitcoin-fall-this-year/kxbtcminy-27jan01"
}'
# Legacy: always generate a fresh report
curl -X POST https://api.octagonai.co/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-octagon-api-key" \
-d '{
"model": "octagon-prediction-markets-agent:refresh",
"input": "https://kalshi.com/markets/kxbtcminy/how-low-will-bitcoin-fall-this-year/kxbtcminy-27jan01"
}'