SettlementExposureGuard
SettlementExposureGuard tracks how much pUSD is committed in markets that share the same UMA resolution window and blocks or downsizes new orders that
What it does
SettlementExposureGuard tracks how much pUSD is committed in markets that share the same UMA resolution window and blocks or downsizes new orders that would push the concurrent settlement exposure above the configured ceiling. It prevents the user from having more equity at risk in a single 2-hour UMA settlement window than they can afford to lose if all markets in that window resolve adversely.
Pipeline placement
Applies to: Every OrderIntent — caps simultaneous settlement resolution risk by limiting how much equity is locked in markets that c
Why it matters
| If this fails | Consequence |
|---|---|
| Multiple markets resolving in same UMA window | Markets resolving in the same 2-hour UMA window create a concentration of settlement risk; an adverse outcome across all of them results in simultaneous losses the user did not anticipate. Worked example Setup: Strategy holds 9,000 pUSD on YES at 0.78 in market 0x12e (resolves in 14h). It now wants to add 4,000 pUSD on YES at the same market. Without bot: PortfolioGuard checks current notional only and approves the add. At resolution, if YES settles, the position pays out; if NO, the loss is the full 9,000 + 4,000 × (1 − 0.78) = 11,880 pUSD. The team learns at resolution that single-market settlement exposure exceeded the monthly budget. With bot: SettlementExposureGuard projects the worst-case post-resolution loss for the proposed position, finds it crosses the per-market hard cap of 10,000 pUSD, and votes RESHAPE_REQUIRED to clamp the new add to 2,500 pUSD. |
| No cap on concurrent settlement exposure | Without a settlement window cap, strategies can inadvertently concentrate the majority of the portfolio in a single 2-hour settlement batch. |
Inputs
Polymarket inputs
| Input | Source | Required | Use |
|---|---|---|---|
| Market resolution end_date and UMA challenge window metadata | gamma | required | Group open positions by their UMA resolution window (2-hour buckets) to compute concurrent settlement exposure. |
| Open position notional by market | clob_public | required | Sum the pUSD notional for all positions in each UMA window bucket. |
Internal inputs
| Input | Source | Required | Use |
|---|---|---|---|
| Settlement window exposure config (max concurrent pUSD) | internal | required | Load the per-window exposure ceiling. |
| KillSwitch active flag | KillSwitch | required | If active, reject immediately. |
Authority
What this bot is permitted to do
State
Readiness
Planned
Status
planned
Class
Guardrail
Default mode
planned
Developer owner
Polytraders core — Risk pod
Capital impact
Direct
Reason codes emitted
| Code | Severity | Meaning | Action |
|---|---|---|---|
| KILL_SWITCH_ACTIVE | HARD_REJECT | Global kill switch active. | Immediate HARD_REJECT. |
| SETTLEMENT_EXPOSURE_EXCEEDED | RESHAPE | Adding the intent to the UMA window bucket would exceed the ceiling. | RESHAPE if safe_size > 0; else HARD_REJECT. |
| SETTLEMENT_EXPOSURE_APPROACHING | WARN | Window exposure is above warn_pct of the ceiling. | Attach WARN annotation; APPROVE. |
| SETTLEMENT_EXPOSURE_DATA_UNAVAILABLE | HARD_REJECT | Gamma market metadata or position data unavailable. | HARD_REJECT (fail-closed). |
Related bots in Risk Guardrail
Used by
Reverse index — strategies that currently reference risk.settlementexposureguard. If you change this bot's authority or reason codes, these strategies must re-pass shadow.
| Strategy | State | Activity |
|---|---|---|
| Fed Rates — surprise drift | frozen | last triggered 25m ago |
| AI Frontier — release-day taker | frozen | last triggered 32m ago |
Showing 2 of 2 · 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 →