⚠ 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

BlacklistKeeper

risk.blacklistkeeper
Risk Guardrail beta Limited live frozen

BlacklistKeeper maintains a dual-registry of banned market condition IDs and banned counterparty wallet addresses.

What it does

BlacklistKeeper maintains a dual-registry of banned market condition IDs and banned counterparty wallet addresses. On every OrderIntent it checks both registries and hard-rejects any intent whose target market or counterparty appears on either list. The bot also monitors for ambiguity signals (undefined resolution sources, prior dispute history, time-to-resolution below threshold) and rejects structurally hostile markets before execution. It is fail-closed: if the registry cannot be read, the intent is rejected.

Pipeline placement

runs after: Strategy OrderIntent BlacklistKeeper runs before: ExecutionPlan emit

Applies to: Every OrderIntent — screens the target market and counterparty wallet against operator-maintained banned-market and bann

Why it matters

If this failsConsequence
Intent routed to a banned marketTrading a market that has been operator-banned (due to ambiguous resolution rules, prior disputes, or platform policy) exposes the system to unresolvable settlement risk and potential fund loss.
Order matched against a banned counterparty walletEngaging with a blacklisted counterparty (e.g. a wallet flagged for manipulation, wash-trading, or prior sanctions escalation) introduces regulatory exposure and may contaminate position records.
Market with ambiguous resolution rules passes throughMarkets using vague trigger words (“substantial”, “primary”) or undefined resolution sources frequently go to UMA dispute. Each dispute costs a $750 pUSD bond and 24–48 h of DVM voting delay, eroding capital efficiency.
Single-source resolution market acceptedA market that resolves on a single oracle feed is vulnerable to feed manipulation or temporary outage; the bot blocks these when block_single_source is enabled.
Fail-open on registry outageIf BlacklistKeeper approves orders when the registry is unavailable, banned markets and counterparties can trade undetected. The bot must never approve when its data source is unreachable.

Inputs

Polymarket inputs

InputSourceRequiredUse
Gamma API market metadata — resolution rules text, single-source flag, time-to-resolution, negRisk flag, prior dispute historygammarequiredEvaluate market for ambiguity keywords, single-source resolution, time-to-resolution threshold, and structural hostility signals.

Internal inputs

InputSourceRequiredUse
Banned-market registry — operator-curated list of banned condition_idsinternalrequiredHard-reject any intent whose market_id appears in the banned-market set.
Banned-counterparty registry — operator-curated list of banned wallet addressesinternalrequiredHard-reject any intent whose counterparty wallet appears in the banned-counterparty set.
Community / shared dispute history feedinternaloptionalSupplement the operator-curated list with cross-platform dispute signals to identify markets with a track record of resolution failure.
KillSwitch active flagKillSwitchrequiredIf KillSwitch is active, reject all orders immediately without consulting the registry.
ObservationReport streaminternaloptionalConsume ObservationReports from intel/disc bots to trigger registry additions when new market anomalies are detected.

Authority

What this bot is permitted to do

Reject Reshape

State

Readiness

Limited live

Status

beta

Class

Guardrail

Default mode

limited_live

Developer owner

Polytraders core — Risk pod

Capital impact

Direct

Reason codes emitted

CodeSeverityMeaningAction
KILL_SWITCH_ACTIVEHARD_REJECTGlobal kill switch is active; no orders may proceed.Immediately return HARD_REJECT without consulting the registry or Gamma API.
BLACKLIST_KEEPER_MARKET_BANNEDHARD_REJECTThe target market condition ID appears in the operator-maintained banned-market registry.Return HARD_REJECT; log market_id and registry entry for audit trail.
BLACKLIST_KEEPER_COUNTERPARTY_BANNEDHARD_REJECTThe counterparty wallet address appears in the operator-maintained banned-counterparty registry.Return HARD_REJECT; log counterparty address (redacted in user-facing messages) for audit trail.
BLACKLIST_KEEPER_NEAR_RESOLUTIONHARD_REJECTThe market resolves within the configured min_hours_to_resolution window, which is below the UMA 2-hour challenge period. Emitted as WARN when hours_to_resolution is between 2 and 4h.Return HARD_REJECT when below hard threshold; emit WARN annotation and APPROVE when between warning and hard thresholds.
BLACKLIST_KEEPER_SINGLE_SOURCEHARD_REJECTThe market resolves on a single data source and block_single_source is enabled, indicating unacceptable feed manipulation and outage risk.Return HARD_REJECT; log market_id and single_source flag.
BLACKLIST_KEEPER_AMBIGUOUS_RULESHARD_REJECTThe market resolution rules text contains one or more ambiguity keywords (e.g. 'substantial', 'primary') that indicate high dispute risk.Return HARD_REJECT; log the matched keyword and market_id for the risk team to review registry addition.
BLACKLIST_KEEPER_PRIOR_DISPUTEHARD_REJECTThe market has a recorded prior dispute in its history, indicating structural resolution instability.Return HARD_REJECT; log market_id and prior_disputes count. Risk team should review whether to add to banned-market registry.
BLACKLIST_KEEPER_DATA_UNAVAILABLEHARD_REJECTOne or more required data sources (banned-market registry, banned-counterparty registry, or Gamma market metadata) are unavailable or returned stale data beyond TTL.Return HARD_REJECT (fail-closed). Log which source failed. Alert on-call if sustained > 60s.
BLACKLIST_KEEPER_PASSINFOAll registry and structural checks passed for this market and counterparty.Emit APPROVE and continue to next guardrail.

Used by

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

StrategyStateActivity
NBA props — line-shopdemo-wiredlast triggered 39m ago
Crypto Q2 — basket rebalancefrozenlast triggered 46m ago
US Elect — book-builderdemo-wiredlast triggered 6m ago

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

Why this matters

Risk Guardrail bots does NOT propose intents or sign orders; only permits or blocks. 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…