Docs & Methodology · VOIR
VOIR
LIVE
{{ t.name }}

Overview

VOIR is an educational research project about prediction markets. It reads public trading records, describes activity that is statistically atypical against a wallet’s own history and the market’s norms, and compiles what the public record shows into wallet reports that anyone can check for themselves.

Nothing on this platform promotes or encourages trading, wagering or betting, and nothing on it is advice of any kind. It does not rate how safe any market is to trade, and it does not conclude that anyone has acted unlawfully. The question it answers, for lawyers, regulators, journalists and researchers, is narrower: what does the public record actually show, stated with its statistical basis and its limits.

Wallet-level analysis covers Polymarket only

Polymarket settles on a public blockchain, so positions, funding paths and transfers can be read and checked by anyone. Kalshi accounts are anonymous at the wallet level, so no wallet-scoped reading is produced for Kalshi at all. Kalshi markets, prices and order books are still shown in full; only the wallet-level analysis is unavailable there.

One score, one scale

Every reading on the platform uses the same 0 to 100 scale with a plain band label. It measures one thing only: how far the observed activity sits from the ordinary pattern for that wallet and that market. A high number means unusual, not wrongful. Methods of this kind produce false positives, and every account is presumed to have acted lawfully.

Methodology

Scoring follows two detection footprints. Each fires on a distinct trading shape and carries a four-step derivation.

Type 1 · Long shot

A low-probability outcome bought heavily just before it resolves in the buyer's favor. Scored on entry odds, lead time to the news, and realized profit versus chance.

Type 2 · Favorite

A near-certain outcome accumulated at scale with consistent timing across many markets. Scored on hit rate, sizing versus norm, and cross-sectional profit rank.

Before a wallet is listed

A wallet reaches the board because of one trade, but one trade is not a record. Before a wallet report is published, that account’s entire public Polymarket trading history is retrieved and folded into a single position per market, and its resolved record is computed from markets whose outcome is already known. A wallet whose history has not yet been retrieved is not published at all, so a report is never shown with the account’s record missing. Realized profit is a separate matter: it is computed only by the full scan, which reads the account’s complete activity feed of buys, sells, redemptions and merges, because a held-to-resolution estimate printed beside measured numbers would be indistinguishable from one.

What the site publishes about an account

No full wallet address, venue username, or profile image is published on any page. Accounts are shown by a masked address and a stable reference derived from it, so a link to a wallet report keeps working without the page carrying the identifier. The block-explorer link resolves that reference back to an address on the server and redirects, which is why the link works while the document itself contains no address. This is a publication choice and not a claim of anonymity: the underlying addresses are public on Polygon, and the reference is a plain digest anyone holding an address can compute.

The 15 tests

Each test carries a plain-English description, a formula, and the threshold at which it registers. A test that registers is an observation about public data, never a conclusion about a person.

{{ t.name }}{{ t.tag }}
{{ t.formula }}
{{ t.meta }}

Signals & weights

The live watchlist scores trades as they land. Positive signals add to the score; exculpatory negatives subtract from it. The result describes the shape of the trading, not the person behind it.

{{ s.name }}{{ s.weight }}

The pattern score & its bands

The score runs 0 to 100. It measures one thing: how far the observed trading sits from the ordinary pattern for that wallet and that market. A high number means unusual, not wrongful; it is a reason to look, never a finding. The band names say exactly that and nothing more, because a band reading “critical” asserts a severity this measurement does not carry.

Mildly unusual 0-29 Unusual 30-49 Very unusual 50-69 Most unusual 70-100

What the score is not built from

No z-scores, standard-deviation readings, or any other statistic is printed on the site as a severity figure, and none of the published findings are attributed to outside research. Where a measurement is spread-relative underneath, the page states the finding in the words that measurement supports (“far larger than the other buyers in this market”) rather than a number a reader would reasonably mistake for a rating.

Checks that had no data are not passes

Each wallet is run against a fixed battery of checks. A check with nothing to measure contributes no points and is reported as having no data, never as a pass. Both figures are shown on the wallet report: how many checks fired, and how many could not run at all.

Withdrawn: the per-market integrity rating

VOIR previously published a 0 to 100 integrity rating for individual markets, presented as how safe a market was to trade. That rating has been withdrawn and is no longer computed or displayed anywhere on the platform. Rating a venue’s individual markets that way states a conclusion about that venue’s order flow which the available data cannot support, and it reads as a prompt to trade, which this educational project does not give. Nothing replaces it; the markets pages now show the public market data itself, without a rating.

Platform coverage

VOIR is one product for both venues, but coverage differs because the venues differ. Wallet-level analysis covers Polymarket only. This is the canonical reference.

FeatureKalshiPolymarket
{{ r.feature }} {{ r.kalshi }} {{ r.poly }}

Wallet-level analysis requires a public, on-chain ledger. Polymarket settles on Polygon, so every position, funding path, and transfer is verifiable and can be scored, clustered, and summarised into a wallet report. Kalshi is a regulated exchange whose accounts are anonymous at the wallet level, so Wallet Analytics does not apply to it at all.

Kalshi is not left uncovered: its markets, prices and order books are shown in full. What cannot run there is the wallet-level analysis, and where a check cannot run it reads n/a and is excluded from coverage rather than counted as a pass or a penalty. No integrity or safety rating is produced for any venue’s markets.

Legal Docket coverage is the broadest on the platform. It tracks suits, rulings, and regulatory actions across Kalshi, Polymarket, PredictIt, and the agencies that oversee them, so it is not wallet-scoped and applies fully to every venue.

Legal Docket reference

The Legal Docket reads every matter through a shared posture vocabulary and a four-gate doctrinal path. These definitions are canonical; the docket tracker and map both point here. Summaries describe the public record of each matter and are not legal advice.

Posture glossary

{{ p.g }}
{{ p.name }}

{{ p.def }}

The four doctrinal gates

{{ g.name }}

{{ g.def }}

Data sources

Every figure on the platform is a client-side rendering of data from these public sources. No figure is fabricated; where a source cannot cover a market, that gap is shown honestly rather than filled.

{{ s.name }}
{{ s.desc }}

Kalshi accounts are anonymous at the wallet level, so wallet-level checks read n/a and are excluded from coverage rather than scored as zero. Wallet-level analysis covers Polymarket only.

Disclaimers

A statistically unusual pattern is never proof of anything. Every account is presumed to have acted lawfully.

This platform publishes educational research, not advice. Nothing on it is financial, investment, betting or legal advice, nothing on it promotes or encourages trading or wagering, and nothing on it is a determination that any person acted unlawfully. Atypical does not equal illegal. Scores describe how unusual a trading pattern is against a statistical baseline, not intent. Methods of this kind produce false positives.

Capability boundaries

Some checks require data the platform does not have. Spoofing detection requires a live order stream and is reported as a boundary, never a fake zero. Wallet-level checks on anonymous venues read n/a. Missing timestamps read "not captured." An empty result list is a healthy state, not an error.

FAQ

{{ f.q }}
{{ f.a }}
Educational research, not advice. Every account is presumed to have acted lawfully.