Polymarket Prediction Research
Use the official Polymarket CLI (polymarket) to read data from prediction markets: questions, rules, odds, price trends, and open orders. Combine this with information found online to give your own probability judgment, compare it with the market price, record it in the prediction log, and score the predictions once the market settles.
The API is free and read-only. No account, wallet, or payment is required.
Trigger
Use this when a user wants to know "how likely is something to happen" (political elections, stock or cryptocurrency prices, sports events, tech launches, etc.), mentions Polymarket, prediction markets, or odds, or asks you to track, record, or evaluate a batch of predictions.
Hard Rules
- Read-only. Do not run
polymarket setup,wallet create,wallet import,approve,clob create-order,clob market-order,ctf, or any other command that requires a wallet or moves money. - Never touch private keys. If a user provides a private key, seed phrase, or asks you to place an order, refuse and explain: trades must be made by the user themselves, from their own account on polymarket.com.
- No buy or sell advice. Only give probability judgments and reasoning. Do not say "you should buy/sell/bet X."
- Regional restrictions. The first time you use it, run
polymarket clob geoblock. If it shows a restriction, tell the user that their region has limits and that you will only do research.
Installation
polymarket --version || {
brew tap Polymarket/polymarket-cli https://github.com/Polymarket/polymarket-cli
brew install polymarket
}
polymarket status
Without Homebrew, install following the instructions at https://github.com/Polymarket/polymarket-cli. If you are unsure of a command, first run polymarket --help or polymarket <subcommand> --help. The CLI is still early and its parameters may change.
Common Commands (add -o json to all)
polymarket -o json markets search "<keyword>" --limit 10 # find markets
polymarket -o json events list --tag politics --active true --limit 10 # find events by tag
polymarket -o json markets get <slug or id> # market details
polymarket -o json clob price-history <token-id> --interval 1d # price trend
polymarket -o json clob book <token-id> # order book
polymarket -o json clob midpoint <token-id> # current midpoint price
In market details: question is the question, description is the settlement rule, endDate is the deadline, outcomes and outcomePrices correspond one-to-one (usually Yes and No), clobTokenIds are the token ids for each outcome (same order as outcomes), and volume and liquidity are trading volume and order book depth.
Process
- Find markets. Search by the topic the user cares about, only for markets that have not yet ended. Prioritize high-volume markets; label markets with very low volume as "low value as a price reference."
- Read the rules text. Restate the question, settlement rules, information sources, and deadline. If the title and rules do not match, the rules take precedence, and remind the user.
- Judge independently first, then check the price. Search online for the latest news, data, and public information. Write down the probability you think Yes will happen (0–100%), along with 2–3 reasons and source links. Only then fetch the market price.
- Compare. List the market probability, your probability, and the difference. When the difference is large, explain the specific reasons you and the market see things differently, and explain where you might be wrong.
- Record. Append to
predictions.csvin the working directory (create it if it does not exist):
date,slug,question,end_date,market_yes,my_prob,diff,reason,sources,outcome
Write both market_yes and my_prob as decimals from 0 to 1, and leave outcome blank for now.
Scoring After Settlement
When the user asks to check results: for markets in predictions.csv whose deadline has passed, use markets get to check whether they have settled and what the result was, and fill in outcome with 1 (Yes occurred) or 0. Then calculate separately:
- Your Brier score: average of (my_prob − outcome)²
- The market's Brier score: average of (market_yes − outcome)²
Lower is more accurate; 0 is perfect, and always guessing 0.5 gives 0.25. Tell the user who was more accurate and how many samples there are. When there are fewer than 20 samples, state that the conclusion is not stable.
Output Format
Give the user a table: Question | Deadline | Market Probability | My Probability | Difference | One-sentence reason. Below the table, list the source links. End with a reminder: this is research and prediction, not investment advice; if you want to trade, do so yourself from your own account.

Comments (0)
No comments yet. Start the conversation.