User Guide & System Instructions
⚙️ Setup & Configuration
To enable trading and full functionality, the following environment variables must be set in the agent's runtime environment:
Polymarket
POLYMARKET_PRIVATE_KEY: Your wallet's private key.
POLYMARKET_PROXY_ADDRESS: Proxy wallet address.
Kalshi
KALSHI_API_KEY: Your Kalshi API key.
KALSHI_PRIVATE_KEY: Your RSA private key.
Limitless
LIMITLESS_API_KEY: Limitless exchange API key.
LIMITLESS_PRIVATE_KEY: Private key for EIP-712 order signing.
🧠 Core Capabilities
1. pmxt_search (Discovery)
Intent: Find active markets related to a topic or event.
- Signature:
pmxt_search(query: string, exchange: string) // NOTE: Kalshi is slow, if you require fast results: use Limitless, or Polymarket
- Search Strategy (Crucial): Do NOT use natural language sentences. Use broad keywords.
- Bad:
pmxt_search("Who will win the next presidential election?")
- Good:
pmxt_search("election", exchange='polymarket') or pmxt_search("us election", exchange='limitless')
- Behavior: Searches across Polymarket and Kalshi simultaneously. Returns market IDs, titles, and current volumes.
- Pro Tip: If the user asks about a general topic (e.g. "Crypto"), search for high-volume markets to see what is trending.
2. pmxt_quote (Analysis)
Intent: Get the exact probabilities for a specific market.
- Signature:
pmxt_quote(market_id: string, exchange: string)
- When to use: You have a
market_id and exchange (from search results) and need to report specific odds.
- Behavior: Returns a structured object with
yes and no prices (implied probability).
- Presentation: Always convert the float prices (e.g.,
yes: 0.34, no: 0.66) into percentages (34% and 66%) when speaking to the user.
3. pmxt_order (Execution)
Intent: Place a real-money market order on a market.
- Signature:
pmxt_order(market_id: string, outcome: string, amount: number, side: "buy" | "sell", exchange: string)
- When to use: The user explicitly instructs you to "bet", "buy", "wager", or "hedge".
- Safety: NEVER call this tool without explicit confirmation from the user including the Amount and Outcome.
🤖 Agent Behavior Guidelines
Rule 1: Don't Hallucinate, Calculate.
If a user asks "Is X likely to happen?", do NOT rely on your internal training data.
- Call
pmxt_search with a broad keyword for "X".
- Call
pmxt_quote relevant markets.
- Reply with: "The market implies a [Price]% chance."
Rule 2: The "Smart" Response
When displaying a quote, synthesize the data rather than dumping it.
- Bad: "Gavin is 0.30."
- Good: "The market is currently pricing Gavin Newsom's victory at 30% (No: 71%). This suggests a skeptical outlook compared to last week."
Rule 3: Arbitrage Awareness (Priority)
Whenever you fetch a quote, silently check if the combined prices of outcomes on different platforms (if available) allows for risk-free arbitrage.
- If you detect a spread (e.g. Poly Yes 0.40 + Kalshi No 0.55 = 0.95), you MUST alert the user:
"🚨 Arbitrage Opportunity: I detected a price discrepancy. You can lock in a risk-free yield by buying Yes on Polymarket and No on Kalshi."
1---2name: molt-pmxt3description: Grants the agent real-time access to prediction markets (Polymarket, Kalshi, Limitless) for fact-checking, probability analysis, and order execution.4license: MIT5---6
7# User Guide & System Instructions
8
9## ⚙️ Setup & Configuration
10
11To enable trading and full functionality, the following environment variables must be set in the agent's runtime environment:
12
13### Polymarket
14- `POLYMARKET_PRIVATE_KEY`: Your wallet's private key.
15- `POLYMARKET_PROXY_ADDRESS`: Proxy wallet address.
16
17### Kalshi
18- `KALSHI_API_KEY`: Your Kalshi API key.
19- `KALSHI_PRIVATE_KEY`: Your RSA private key.
20
21### Limitless
22- `LIMITLESS_API_KEY`: Limitless exchange API key.
23- `LIMITLESS_PRIVATE_KEY`: Private key for EIP-712 order signing.
24
25
26## 🧠 Core Capabilities
27
28### 1. `pmxt_search` (Discovery)
29**Intent:** Find active markets related to a topic or event.
30- **Signature:** `pmxt_search(query: string, exchange: string)` // NOTE: Kalshi is slow, if you require fast results: use Limitless, or Polymarket
31- **Search Strategy (Crucial):** Do NOT use natural language sentences. Use **broad keywords**.
32 - *Bad:* `pmxt_search("Who will win the next presidential election?")`
33 - *Good:* `pmxt_search("election", exchange='polymarket')` or `pmxt_search("us election", exchange='limitless')`
34- **Behavior:** Searches across Polymarket and Kalshi simultaneously. Returns market IDs, titles, and current volumes.
35- **Pro Tip:** If the user asks about a general topic (e.g. "Crypto"), search for high-volume markets to see what is trending.
36
37### 2. `pmxt_quote` (Analysis)
38**Intent:** Get the exact probabilities for a specific market.
39- **Signature:** `pmxt_quote(market_id: string, exchange: string)`
40- **When to use:** You have a `market_id` and `exchange` (from search results) and need to report specific odds.
41- **Behavior:** Returns a structured object with `yes` and `no` prices (implied probability).
42- **Presentation:** Always convert the float prices (e.g., `yes: 0.34, no: 0.66`) into percentages (34% and 66%) when speaking to the user.
43
44### 3. `pmxt_order` (Execution)
45**Intent:** Place a real-money market order on a market.
46- **Signature:** `pmxt_order(market_id: string, outcome: string, amount: number, side: "buy" | "sell", exchange: string)`
47- **When to use:** The user **explicitly** instructs you to "bet", "buy", "wager", or "hedge".
48- **Safety:** NEVER call this tool without explicit confirmation from the user including the Amount and Outcome.
49
50---
51
52## 🤖 Agent Behavior Guidelines
53
54### Rule 1: Don't Hallucinate, Calculate.
55If a user asks "Is X likely to happen?", do NOT rely on your internal training data.
561. Call `pmxt_search` with a broad keyword for "X".
572. Call `pmxt_quote` relevant markets.
583. Reply with: "The market implies a **[Price]%** chance."
59
60### Rule 2: The "Smart" Response
61When displaying a quote, synthesize the data rather than dumping it.
62- *Bad:* "Gavin is 0.30."
63- *Good:* "The market is currently pricing Gavin Newsom's victory at **30%** (No: 71%). This suggests a skeptical outlook compared to last week."
64
65### Rule 3: Arbitrage Awareness (Priority)
66Whenever you fetch a quote, silently check if the combined prices of outcomes on different platforms (if available) allows for risk-free arbitrage.
67- If you detect a spread (e.g. Poly Yes 0.40 + Kalshi No 0.55 = 0.95), you **MUST** alert the user:
68> "🚨 **Arbitrage Opportunity:** I detected a price discrepancy. You can lock in a risk-free yield by buying Yes on Polymarket and No on Kalshi."