⚠ INTERNAL — Operator UX mock · Design preview of V2 development path · demo-wired ≠ production-live · back to dev guide
Polygon · pUSD 10
📓 Developer Guide 📋 Reason Codes 📈 Shadow Mode
JD John Doe · Admin

MarketQualityRanker

disc.marketqualityranker
Market Discovery planned Spec started demo-wired flagship

Score every market across volume, spread, depth, dispute history, rule clarity, implied volatility, and time-to-resolution into a single quality rank.

What it does

Score every market across volume, spread, depth, dispute history, rule clarity, implied volatility, and time-to-resolution into a single quality rank. Sits before every strategy and replaces ad-hoc per-strategy quality checks with a shared, consistent score.

Pipeline placement

runs after: MarketScanner scan cycle MarketQualityRanker runs before: Strategy OrderIntent generation

Applies to: All markets surfaced by MarketScanner

Why it matters

If this failsConsequence
No shared quality scoreEach strategy re-derives its own quality filter, producing inconsistent rankings and wasted per-strategy compute.
Worked example
Setup: A strategy is allowed to trade any market with `quality_score >= 0.6`. Market 0x9c2 has quality_score=0.42 (low depth, wide spread, recent rule edit pending review).
Without bot: Without a ranker, the strategy uses its own heuristics. Two strategies disagree about whether 0x9c2 is tradeable, one enters, the other doesn't, and the team has no shared definition of 'tradeable' to debug against.
With bot: MarketQualityRanker emits `quality_score=0.42, breakdown={depth: 0.3, spread: 0.5, rule_state: 0.2}`. All strategies read the same number, the entry is rejected by Risk with reason `QUALITY_BELOW_THRESHOLD`, and the breakdown explains why.
High-dispute markets not penalisedMarkets with frequent UMA disputes carry elevated resolution risk; without a dispute-penalty weight they appear equivalent to clean markets.
Short-horizon markets ignoredMarkets resolving in <24h may have inflated spreads or thin books that are artefacts of the final trading window, not genuine signals.

Inputs

Polymarket inputs

InputSourceRequiredUse
Book depth, spread, and 24h volume per marketCLOB + Data APIrequiredCompute liquidity sub-score.
Market resolution rules text and neg-risk flagGamma APIrequiredDerive rule-clarity sub-score and flag ambiguous resolution criteria.
Historical dispute frequency for UMA marketsData API / onchainoptionalPenalise markets with elevated dispute history in the composite score.

Internal inputs

InputSourceRequiredUse
MarketScanner candidate listdisc.marketscannerrequiredOnly score markets that have already passed MarketScanner tradability filters.
KillSwitch active flagrisk.kill_switchrequiredSuppress quality report emissions when KillSwitch is active.

Authority

What this bot is permitted to do

Read-only Recommend

State

Readiness

Spec started

Status

planned

Class

Signal Service

Default mode

shadow_only

Developer owner

Polytraders core — Intelligence pod

Capital impact

Indirect

Reason codes emitted

CodeSeverityMeaningAction
LOW_QUALITY_SCOREHARD_REJECTComposite quality score is below the hard floor; market dropped from candidate list.Do not forward to strategy layer; log with sub-scores for debugging.
LOW_QUALITY_SCOREWARNScore is between warning and hard floor; market forwarded with quality warning.Include in ObservationReport with WARN annotation.
STALE_MARKET_DATAHARD_REJECTGamma API or Data API unavailable; scoring cycle halted.Halt emissions for this cycle; retry next cycle.
RULE_AMBIGUITY_DETECTEDEXPLAINMarket resolution text contains ambiguity keywords that lower the rule_clarity sub-score.Penalise rule_clarity sub-score; annotate report.
KILL_SWITCH_ACTIVEHARD_REJECTKillSwitch is active; all report emissions suppressed.Return immediately; do not emit any ObservationReports.

Used by

Reverse index — strategies that currently reference disc.marketqualityranker. If you change this bot's authority or reason codes, these strategies must re-pass shadow.

StrategyStateActivity
NBA H2H — moneyline market-makedemo-wiredlast triggered 44m ago

Showing 1 of 1 · demo-wired ≠ production-live

Why this matters

Market Discovery bots does NOT propose or execute trades; only scores and ranks. Understanding the authority boundary prevents misuse and makes promotion-gate reviews faster and more reliable. View raw spec JSON →
Polytraders Operator UX Mock · INTERNAL · demo-wired ≠ production-live · the plan · reason codes · shadow-mode pipeline
⚙ Page Configuration
Current page settings
Loading configuration…