⚠ 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

SourceOfTruthVerifier

intel.sourceoftruthverifier
Intelligence planned Spec started frozen

Sanity-check that the source listed in a market's rule actually publishes what's needed for resolution.

What it does

Sanity-check that the source listed in a market's rule actually publishes what's needed for resolution.

Pipeline placement

runs after: — SourceOfTruthVerifier runs before: —

Applies to:

Why it matters

If this failsConsequence
Cited source does not actually publish what's neededA market that cites 'team-website.com' as its source-of-truth resolves on whatever that site publishes. If the site stops publishing, publishes only behind a paywall, or publishes too coarsely (winner only, no margin), the market cannot be resolved cleanly. Catching that at listing prevents the trade.
Worked example
Setup: Market `Will [Driver] win the [Race] by more than 2.5 seconds?` cites the team's own website. The site historically publishes only winner + lap time of the winner, not gap-to-second.
Without bot: MarketScanner approves the market. A strategy enters on a 60/40 prior. At resolution, the cited source publishes only the winner. Polymarket falls back to a secondary source under dispute, and the market settles 9 days after the race.
With bot: SourceOfTruthVerifier inspects the last 50 publications from the cited URL, fails to find a `gap_to_second` field, and emits `SOURCE_INSUFFICIENT_FOR_RULE`. Discovery excludes the market on listing.
Rule change to a worse source goes undetectedA post-listing edit can swap the cited source for a less reliable one. Pairing this verifier with RuleChangeMonitor catches the moment the cited source becomes unsuitable.
Operators have no defensible exclusion reasonMarketScanner needs a structured reason to exclude a market with a broken source-of-truth. The verifier produces that reason in a form Discovery and Governance can both consume.

Inputs

Polymarket inputs

InputSourceRequiredUse
Market status and metadata from Gamma APIgammarequiredFirst source in three-way verification.
Market status and metadata from Data APIdatarequiredSecond source in three-way verification.
On-chain condition state from CTFExchangeV2onchainrequiredThird source — authoritative on-chain resolution status.

Internal inputs

InputSourceRequiredUse
KillSwitch active flagKillSwitchrequiredSuppress all emissions when KillSwitch is active.

Authority

What this bot is permitted to do

Read-only

State

Readiness

Spec started

Status

planned

Class

Signal Service

Default mode

shadow_only

Developer owner

Polytraders core

Capital impact

Indirect

Reason codes emitted

CodeSeverityMeaningAction
SOURCEOFTRUTH_GAMMA_DATA_MISMATCHWARNGamma API market status differs from Data API market status.Emit ObservationReport with discrepancy; flag for strategy review.
SOURCEOFTRUTH_CHAIN_API_MISMATCHWARNOn-chain CTFExchangeV2 resolution state differs from Data API.Emit ObservationReport with chain_api_mismatch=true; alert on-call.
STALE_DATAWARNOne or more sources has not updated within staleness_threshold_s.Suppress emission; retry on next poll; alert if persists.
KILL_SWITCH_ACTIVEHARD_REJECTKillSwitch active; all SourceOfTruthVerifier emissions suppressed.Continue polling but suppress all ObservationReport emissions.

Used by

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

StrategyStateActivity
US Elections — sentiment fadedemo-wiredlast triggered 42m ago
BTC weekly — close-aware quotesdemo-wiredlast triggered 2m ago
Fed Rates — surprise driftfrozenlast triggered 9m ago

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

Why this matters

Intelligence bots does NOT propose, veto, sign, or execute any trade. 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…