Polymarket Prediction Market & Wallet Monitor
Pricing
from $1.00 / 1,000 market or wallet trades
Polymarket Prediction Market & Wallet Monitor
Track live Polymarket prediction markets and the recent trades of wallets you choose. Each run returns a market board with outcome prices, end dates and tags, plus one record per wallet fill with side, shares, price, USDC value and timestamp.
Pricing
from $1.00 / 1,000 market or wallet trades
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Features
Share
Track live Polymarket prediction markets and the recent trades of wallets you choose. Every run returns a current market board (question, outcome prices, end date, lifecycle flags, tags, order rules) and, when you add wallet addresses, their recent fills with buy/sell side, shares, price, USDC value, market and timestamp. Built for traders, analysts and bot builders who schedule runs and pipe the JSON into dashboards, alerts or models. No Polymarket account or API key is needed.
Data only, not financial advice.
Use cases
- Odds dashboards: a fresh board of live markets with outcome prices, filtered by tag (Sports, Crypto, Politics), refreshed on a schedule.
- Wallet tracking: follow up to 25 wallets and get every fill in the lookback window as its own row.
- Large-trade alerts: a Telegram digest of wallet trades above a USDC threshold, in your own copy of the Actor.
- Research and models: store snapshots of prices and fills and join them with other venues on
conditionIdor market slug.
Quick start
- Open the Actor and click Start. The form is prefilled with one example wallet, a 24-hour lookback and up to 200 live markets.
- Read the rows in the Output tab, or export them as JSON, CSV or Excel.
The prefilled input:
{"wallets":["0xd9c9651bfd445b2cddf750662ee79a755f216686"],"lookbackHours":24,"maxMarkets":200,"maxPages":6}
Leave wallets empty for a market-only run. An empty input ({}) returns a market-only board of up to 200 live markets.
Input
| Name | Type | Default | What it does |
|---|---|---|---|
wallets | array | [] | Up to 25 wallet addresses (0x plus 40 hex characters) whose recent fills to collect. |
lookbackHours | integer | 24 | How far back to keep wallet trades (1–336 hours). |
maxWalletTrades | integer | 100 | Most recent trades fetched per wallet (1–500). |
activeOnly | boolean | true | Keep only markets that are active and not closed. |
acceptingOrdersOnly | boolean | false | Keep only markets that are accepting orders. |
tag | string | empty | Keep only markets carrying this tag, case-insensitive, such as Sports, Crypto or Politics. all or empty turns the filter off. |
maxMarkets | integer | 200 | Maximum market records returned (1–2000). |
maxPages | integer | 6 | Maximum market pages fetched (1–30). |
telegramChatId | string | empty | Optional chat for a large-trade digest. Requires the TELEGRAM_BOT_TOKEN secret environment variable, so it suits your own copy of the Actor. |
alertMinUsd | number | 100 | Trades at or above this USDC value go into the digest. |
requestDelaySecs | number | 0.25 | Pause between wallet requests (0–10 seconds). |
A misspelt input field stops the run with an error that names it. Very restrictive filters can return fewer records or none; the run summary explains why (for example, the page budget was reached).
Output
Every row is either a market (kind: "market") or a wallet trade (kind: "wallet_trade"), with the same field set; fields that don't apply to a kind are null.
- Market rows:
conditionId,question,marketSlug,eventSlug,active,closed,archived,acceptingOrders,enableOrderBook,negRisk,endDate,tags,minimumOrderSize,minimumTickSize, andtokens(one entry per outcome withtokenId,outcome,price,winner). - Wallet-trade rows:
wallet,side(BUY/SELL),size(shares),price,usdcSize,outcome,title,marketSlug,eventSlug,conditionId,transactionHash,tradedAt. - Every row:
recordKey,source,kind,sourceUrl,collectedAt.
The board holds the most recently listed live markets. Outcome prices are the displayed prices, not executable quotes. Unpublished values are null rather than guessed. A run summary in the key-value store (OUTPUT) reports the status, record counts, coverage and any warnings.
Output example
One market row and one wallet-trade row built from a recorded 2026-09-06 snapshot (prices are historical, not current quotes; collectedAt is an example):
{"recordKey":"polymarket:market:0x6133ff58978f713ff58cfa4a3db6c522bbf9c4baaf580ce99688133a8c6539af","source":"polymarket","kind":"market","collectedAt":"2026-09-06T16:20:11.512904+00:00","sourceUrl":"https://polymarket.com/market/efl-mnc-nor-2026-09-17-corners-total-7pt5","conditionId":"0x6133ff58978f713ff58cfa4a3db6c522bbf9c4baaf580ce99688133a8c6539af","question":"Manchester City FC vs. Norwich City FC: O/U 7.5 Total Corners","marketSlug":"efl-mnc-nor-2026-09-17-corners-total-7pt5","eventSlug":null,"active":true,"closed":false,"archived":false,"acceptingOrders":true,"enableOrderBook":true,"negRisk":false,"endDate":"2026-09-17T00:00:00Z","tags":["Sports","Soccer","Games","Carabao Cup","EFL Cup"],"minimumOrderSize":5.0,"minimumTickSize":0.01,"tokens":[{"tokenId":"113829333983832662025223292708885162162396543865643575401198121359517129094193","outcome":"Over","price":0.51,"winner":false},{"tokenId":"82130897501804795315228163185600712996311954408147905053700664726650491460995","outcome":"Under","price":0.49,"winner":false}],"wallet":null,"side":null,"size":null,"price":null,"usdcSize":null,"outcome":null,"title":null,"transactionHash":null,"tradedAt":null}{"recordKey":"polymarket:trade:0xd9c9651bfd445b2cddf750662ee79a755f216686:0x4ec696d38188edb45a0c2d408237c71e7461aad3097a94a37fadb2a83fd7dc30:20271798362199249796519455302166539276138218512853056119023610329637322347927","source":"polymarket","kind":"wallet_trade","collectedAt":"2026-09-06T16:20:11.512904+00:00","sourceUrl":"https://polymarket.com/event/lal-mala-lev-2026-09-06","conditionId":"0x714b84adf6028534bc4578b56e2942d0dbb33cd27e9b2978936efdfde70201b1","question":null,"marketSlug":"lal-mala-lev-2026-09-06-mala","eventSlug":"lal-mala-lev-2026-09-06","active":null,"closed":null,"archived":null,"acceptingOrders":null,"enableOrderBook":null,"negRisk":null,"endDate":null,"tags":null,"minimumOrderSize":null,"minimumTickSize":null,"tokens":null,"wallet":"0xd9c9651bfd445b2cddf750662ee79a755f216686","side":"BUY","size":2.5,"price":0.4,"usdcSize":1.0,"outcome":"Yes","title":"Will Málaga CF win on 2026-09-06?","transactionHash":"0x4ec696d38188edb45a0c2d408237c71e7461aad3097a94a37fadb2a83fd7dc30","tradedAt":"2026-09-06T15:14:58+00:00"}
Pricing
Current price: $0.001 per row plus a $0.00005 start fee, so 1,000 rows cost about $1.00.
Pay per result: each market row and each wallet-trade row is one result, plus a small run-start charge. See the Actor's Pricing tab on Apify for current rates. Use maxMarkets, tag and maxWalletTrades to keep runs small.
Scheduling and monitoring
- Schedule a wallet run every 15–60 minutes with a matching
lookbackHours.recordKeyis stable for the same fill (wallet, transaction and outcome token), so de-duplicate on it when windows overlap. - For a market board, key your history on
recordKeypluscollectedAtto chart outcome prices over time.
FAQ
How fresh is the data? Each run reads the current market board and the newest available wallet fills at run time; nothing is cached between runs.
What limits apply? Up to 2,000 markets, 500 trades per wallet and 25 wallets per run.
Can I focus on one topic? Yes — filter by tag, activity and order acceptance, and cap the markets and pages collected.
What if a wallet has no recent trades? The market board is still returned and the run summary notes that wallet had no fills in the window.
Export formats? JSON, CSV, Excel, XML or RSS from the dataset, or read it through the Apify API in your own pipeline.
Limits
- Public market and trade data only; no trading, order placement or account data.
- Up to 2,000 markets, 25 wallets and 500 trades per wallet per run; trade history goes back at most 336 hours (14 days).
- No order-book depth or price history; build history by scheduling runs.
For support, contact Apify support and include the Actor run ID.