Loading...
Loading...
Complete Polymarket playbook covering research and trading on the world's largest prediction market. Use this for ANY Polymarket task. Research triggers: finding events ("what's happening in politics", "show me election odds", "NBA finals odds", "BTC to 200k markets", "IPL / FIFA / UFC / F1 betting markets"), listing markets with filters, searching by keyword, reading orderbooks, mid prices, spreads, last trade prices, recent trades, open interest, volume, liquidity, and any user's positions/portfolio/PnL by address. Trading triggers: place a bet on YES or NO, buy/sell outcomes, limit orders (GTC/GTD), market orders (FOK/FAK), batch orders, cancel one/many/all orders, check and set on-chain USDC.e and CTF approvals, neg-risk (multi-outcome) markets, tick size handling (0.01/0.001/0.0001), and builder-code attribution. Covers all routes under /agent/polymarket/* (events, markets, search, orderbook, price, prices, spread, last-trade-price, trades, market/:id/open-interest|volume|liquidity|trades, user/:address/positions|trades|portfolio|pnl, order, order/market, orders, order/:id, order/:id/scoring, approvals, builder/*). Use when the user mentions Polymarket, prediction markets, event betting, binary outcomes, probability markets, YES/NO tokens, conditional tokens, or politics/sports/crypto/culture odds. Prerequisite: openfin-setup for trading.
npx skill4agent add openfinance-tech/skills openfin-polymarketopenfin-setupGET /agent/polymarket/approvalsPOST /agent/polymarket/approvalsGET /agent/polymarket/eventslimitoffsetactiveclosedarchivedorderdescascendingslugtag_idGET /agent/polymarket/events/:eventIdGET /agent/polymarket/events/slug/:slugGET /agent/polymarket/events/:eventId/volumeGET /agent/polymarket/marketslimitoffsetactiveclosedslugmarket_idtoken_idcondition_idtag_idliquidity_minvolume_minstart_date_minstart_date_maxend_date_minend_date_maxGET /agent/polymarket/markets/:marketIdGET /agent/polymarket/markets/slug/:slugGET /agent/polymarket/markets/cid/:conditionIdcondition_idtokenstoken_idmin_tick_sizetickSizeneg_risknegRisk: trueGET /agent/polymarket/public-search?q=<query>GET /agent/polymarket/orderbook/:tokenIdPOST /agent/polymarket/orderbooks{tokenIds: [...]}GET /agent/polymarket/price/mid/:tokenId(0, 1)GET /agent/polymarket/price/:tokenId?side=BUYsideBUYSELLGET /agent/polymarket/pricesGET /agent/polymarket/spread/:tokenIdGET /agent/polymarket/last-trade-price/:tokenIdGET /agent/polymarket/trades/:marketSlug?limit=50&offset=0GET /agent/polymarket/market/:conditionId/open-interestGET /agent/polymarket/market/:marketId/volumeGET /agent/polymarket/market/:marketId/liquidityGET /agent/polymarket/market/:marketId/trades?limit=50/trades:addressGET /agent/polymarket/user/:address/positionsGET /agent/polymarket/user/:address/trades?limit=50&offset=0GET /agent/polymarket/user/:address/portfolioGET /agent/polymarket/user/:address/pnlx-api-key: open_…POST /agent/polymarket/order{
"tokenID": "...", // CLOB outcome asset ID (NOT market/condition ID)
"price": 0.42, // probability 0.0–1.0
"size": 10, // conditional token units
"side": "BUY", // "BUY" | "SELL"
"orderType": "GTC", // default "GTC"; "GTD" requires expiration
"tickSize": "0.01", // default "0.01"; some markets need "0.001" / "0.0001"
"negRisk": false, // true for multi-outcome neg-risk markets
"postOnly": false, // only accept if maker (reject if marketable)
"expiration": 1735689600 // Unix seconds, required when orderType = "GTD"
}POST /agent/polymarket/order/marketamountamount{
"tokenID": "...",
"amount": 10, // BUY: USDC to spend · SELL: shares to sell
"side": "BUY",
"price": 0.42, // optional cap; omit for pure market
"orderType": "FOK", // default "FOK" (all-or-nothing) | "FAK" (fill-and-kill)
"tickSize": "0.01",
"negRisk": false
}POST /agent/polymarket/orders{orders: [ { tokenID, price, size, side, orderType?, tickSize?, negRisk?, expiration? }, ... ], postOnly?: boolean}GET /agent/polymarket/order/:orderIdGET /agent/polymarket/orders?id=&market=&asset_id=idmarketasset_idGET /agent/polymarket/order/:orderId/scoringDELETE /agent/polymarket/order/:orderIdDELETE /agent/polymarket/orders{orderHashes: [...]}DELETE /agent/polymarket/orders/allDELETE /agent/polymarket/orders/market{market, asset_id}GET /agent/polymarket/approvals?negRisk=trueapproved: booleannegRisk=truePOST /agent/polymarket/approvals{negRisk?: boolean}POLYMARKET_BUILDER_CODEPOST /agent/polymarket/builder/api-keykeysecretpassphraseGET /agent/polymarket/builder/api-keysDELETE /agent/polymarket/builder/api-keyGET /agent/polymarket/builder/trades?taker=&maker=&market=&asset_id=&next_cursor=POLYMARKET_BUILDER_CODE| Route / type | When to use |
|---|---|
| "Buy X shares at Y" — resting limit until fill or cancel |
| Same but auto-cancels at |
| "Buy now" all-or-nothing fill |
| Best-effort fill, cancel rest |
| Ladder quoting — multiple price levels atomically |
| Param | What | Gotchas |
|---|---|---|
| CLOB outcome asset ID | Different from market/condition ID. One per YES/NO side. Read from market's |
| Probability as decimal | |
| Conditional token units | USDC spend ≈ |
| Side-dependent | BUY: USDC to spend. SELL: shares. |
| | Case-sensitive. |
| Min price increment | Default |
| Multi-outcome market flag | Check market metadata; also set |
(0, 1)price: 0.230.230.770.23000.2305neg_risk: truenegRisk: true{negRisk: true}price=0.05, size=10price * size >= 1GET /agent/polymarket/public-search?q=<topic>GET /agent/polymarket/events/:eventIdtoken_idGET /agent/polymarket/orderbook/:tokenIdGET /agent/polymarket/price/mid/:tokenIdmin_tick_sizeneg_riskGET /agent/polymarket/approvalsPOST /agent/polymarket/order/order/marketPOST /approvalsGET /approvalstokenIDnegRisk: falsepolymarket_get_eventspolymarket_get_marketspolymarket_searchpolymarket_get_orderbookpolymarket_get_user_portfoliopolymarket_place_orderpolymarket_place_market_orderpolymarket_cancel_orderpolymarket_set_approvals