How this works
What this system is (and is not)
The watcher looks for trading patterns on Polymarket that co-occur in ways chance struggles to explain: positions opened shortly before a price break, sized well above a wallet's own habit, at long odds, concentrated in one subject, by wallets that share funding lineage on-chain. It joins two things most people look at separately: the full historical trade record of the platform, and the USDC funding history of the wallets doing the trading.
Every alert is a hypothesis, never an accusation. Nothing here asserts that anyone traded on non-public information — only that observed patterns are unusual against the population and against the actor's own history. Plenty of legitimate things look unusual: genuine expertise, fast public news, luck.
This page explains the approach. It deliberately does not publish the thresholds, weights or lookback windows the engine uses. A published threshold is one that can be traded just under, and the specifics are the part of this system that took the work.
When things run
Ingestion and detection run continuously on the server. Heavy statistics run once a night. Nothing waits for a person.
Practical latency: a price break on a watched market is detected within minutes of happening; a new position by a watched actor's wallet is evaluated within about a minute of the trade. Scores and tiers move once a day (the nightly run), not in real time.
The pipeline, start to finish
- Ingest. Every trade on the platform, plus price history and the market catalog.
- Detect breaks. A sudden, held price step against the market's own baseline. Thin, illiquid moves are flagged low-confidence and excluded downstream.
- Screen. For each confirmed break: who held the correct side before it happened? Deliberately wide — lucky gamblers flood through here by design.
- Score behaviour. Several independent signals over the wallet's whole record, judged against a population baseline built from real market odds, combined into one behaviour score.
- Chain layer. Only for wallets whose behaviour already cleared the bar: USDC funding lineage on Polygon — who funded them, who else the same funder funded, hand-off timing between wallets.
- Assemble actors. Wallets connected by qualifying funding evidence become one Actor and its trading history is scored as a whole. A burner rotation scores as one career, not five innocuous fragments.
- Tier and watch. Actors are banded by composite score. The upper tiers go under standing surveillance.
- Alert. A new position by a watched actor that matches the actor's established pattern on every axis at once lands in the Alerts panel.
Tiers
| tier | meaning | watch |
|---|---|---|
| T1 | Noise or not enough evidence. Kept only as context. | none |
| T2 | Interesting record — could be skill, could be luck. A high win-rate alone can NEVER promote past Tier 2; being good at forecasting is not suspicious. | none |
| T3 | Strong behavioural pattern. Under passive watch: every new position is evaluated. | passive |
| T4 | "Corroborated": behaviour AND on-chain funding evidence point at the same actor. Tier 4 is structurally impossible on one axis alone; without both, the actor is held at T3. | live |
The composite rewards agreement between the two kinds of evidence: behaviour and chain reinforce each other, and the top tier only exists when both are present.
Expert traders: the other thing the net catches
A net tuned for insider patterns drags in a second population: traders who are consistently right because they are genuinely good at forecasting. Weather quants running ensemble models. Sports bettors with a real statistical edge. Crypto traders working entirely from public data. They clear the same early screens an insider does, because being right before the market moves is the one thing both groups share. The watcher keeps them, and classifies them separately as Expert Traders.
Insider and expert are two independent tests, not opposite ends of one dial. Every actor is scored on both. Most are neither, some are one, and a few are both: those wear both badges, the amber I and the green E, and appear in both lists.
The expert classification barely cares whether the actor wins. It cares HOW. In broad strokes, the signals ask:
- Is the record long and steady? Many resolved bets across many markets, not a handful of big strikes.
- Is the sizing flat? A model bets its edge, so the bets come out machine-similar in size. A tip gets the house bet on it.
- Is the timing indifferent to price breaks? Experts are early because their model updated, not minutes before news lands.
- Are the wallets boring? Old, clean, complete history, no funding-lineage links, nothing that screens as a burner.
- Is the subject forecastable from public data? Weather, sports and crypto can be modelled by anyone willing to do the work. A court ruling or a company decision cannot; someone can simply know it. Profits concentrated there count against the expert label, not for it.
As with Tier 4, the label is gated structurally: a strong combined score is not enough unless several independent style signals agree on their own. And as everywhere on this page, the weights, thresholds and windows stay unpublished.
Experts are classified by the same nightly run that assembles actors, so a new actor is tested on both axes from its first night. They live in the Expert Traders view in the workspace, ranked by expert score rather than tier.
The behaviour score
Built from multiple signals over the wallet's full history, each stored with its inputs so a case file can show its work. In broad strokes they ask:
- How close before price breaks do this wallet's entries land, and how consistently?
- Does it trade one narrow subject (one agency, one company, one conflict) rather than everything?
- Does it win more than random bettors at the same odds would? This one is deliberately capped: on its own it can never push an actor past Tier 2.
- Are the flagged positions out of proportion to the wallet's own normal?
- Does it take specific long-shot outcomes rather than broad hedged books?
The signals are combined so that several independent moderate signals outweigh one strong one. The baseline is rebuilt nightly by resampling actual market odds: "would random bettors at these odds produce this record?"
The chain score
Two families of on-chain evidence: flagged wallets that share a funding source in their USDC transfer history, and hand-offs where one wallet goes quiet and another funded from the same lineage picks up the same pattern.
Exchange hot wallets fund thousands of accounts, so shared funding through them means nothing. Funding links are discounted by how many wallets the funder feeds, and clustering only follows funders with a small number of downstream wallets. The link gets discounted, never the wallet.
Chain lookups run ONLY for wallets whose behaviour score already cleared the bar — a hard guard in code, not a convention. No behavioural signal, no chain surveillance.
Actors, membership, decay
An Actor is a group of wallets connected by qualifying chain evidence (often a group of one). Its behaviour score is computed over the members' combined history — the reason a burner rotation can out-score every individual wallet in it.
Membership confidence decays over time unless re-reinforced by fresh evidence, so stale links fade instead of accumulating. Actor ids are stable across recomputes; merged actors forward to their survivor rather than disappearing.
The alert rule — why alerts fire, and why they mostly don't
Checked every 60 seconds against every new buy from a watched actor's member wallets. Every condition must hold at once:
| condition | why |
|---|---|
| actor already under watch | A random wallet doing something odd once is not a signal. |
| trade is in the actor's concentrated subject | Pattern continuation, not a stray bet. |
| size is large relative to the actor's OWN history | Judged against the actor, not a global number. $2k is nothing for a whale and everything for a $50 bettor. |
| long odds at entry | Buying an outcome the market considers unlikely. Confidence at long odds is the interesting shape. |
Zero alerts for days or weeks is the EXPECTED state. The rule is strict on purpose: it fires on conjunctions, not on any single unusual thing. If it fired daily it would be measuring noise.
Screen flags (the tags on hits)
| flag | means |
|---|---|
| early | position opened shortly before the break |
| low_entry_price | a long shot at entry |
| unusual_size | far above the wallet's own prior positions, or an outsized first-ever position |
| fresh_wallet | wallet's first-ever Polymarket activity was very shortly before this entry |
| young_wallet | a new wallet, but not brand new |
| large_absolute | large in raw dollars (informational only — absolute dollars are weak evidence) |
A screen hit is NOT an accusation either — it means "this wallet held the right side before the move." Most hits are luck. The scoring stage exists to prove that.
What counts as a price break
A step against the market's own baseline that is large, fast, and HELD — a spike that reverts is not a break. Markets below a liquidity floor, or with almost no new takers after the move, are flagged low-confidence and excluded from screening. Missing a marginal break is acceptable; a false one poisons everything downstream, so the detector is tuned conservative.
The topic heat map
A topic is a subject markets share. Two things build them: the curated tags Polymarket puts on a market, and the entities its events actually name: a company, a person, a model, a team. A market belongs to as many topics as apply, so one release-date market can sit under the product, the company and the sector at once, and the same trade counts in each. Tags that only describe where a market lives on the site, rather than what it is about, are dropped: "trending" is a shelf, not a subject.
Size and colour say different things. A block's size is how much tracked money is held under that topic together with how many separate tracked actors entered it in the last 24 hours, so a topic grows both when the positions get bigger and when more independent wallets show up. Colour is the side that money leans, green for YES and red for NO, and it only turns vivid when the count of distinct tracked actors sits outside that topic's own baseline (its own history, not a global number) after the test is corrected across every topic active at that moment. Roughly two hundred topics are live at any time, and without that correction a few would clear the bar every hour by chance.
A vivid block is a hypothesis about co-movement. It says several tracked wallets independently arrived at the same subject, on the same side, in a short window, more of them than that topic normally sees. It says nothing about why. News everyone can read, a shared model, one crowded narrative and plain coincidence all produce this shape, and none of them involve anybody knowing anything.
When a topic moves outside its baseline, its markets go on the watchlist for 72 hours, so for that window they get minute-by-minute price snapshots, break detection and screening like any other watched market. A crowd count runs beside it: how many wallets in total, tracked or not, bought into the topic. That number is used for two narrow things only, to dampen sports and single-entity topics on days when everyone is busy, and to mark the cases where the tracked wallets got to their count before the crowd got to half of its own. The topic page charts any of its stat cards per hour over 72 hours; the crowd series comes from a table filled every five minutes, because counting distinct buyers across a tag with a thousand markets is too slow to do on request.