Features

A complete toolkit for pricing resolution risk in prediction markets.

Risk Scoring

Every market receives an aggregate risk score from 0 to 100, computed deterministically from platform base points, driver contributions, mitigations, and complexity adjustments.

The score maps to four tiers: LOW [0, 20), MEDIUM [20, 50), HIGH [50, 75), CRITICAL [75, 100].

Formula: raw_points = BASE_POINTS(platform) + sum(driver_points) - mitigation + complexity

GET /v1/markets/polymarket/0x1234abcd/risk-score
{
  "market_id": "polymarket:0x1234abcd",
  "platform": "polymarket",
  "aggregate_risk_score": 67,
  "tier": "HIGH",
  "p_dispute": 0.231,
  "drivers": [
    {
      "driver_type": "AMBIGUOUS_WORDING",
      "strength": "HIGH",
      "confidence": 0.92,
      "points_contribution": 18,
      "evidence": {
        "text_span": "if the price reaches approximately $100k",
        "start_char": 142,
        "end_char": 186
      }
    },
    {
      "driver_type": "SINGLE_ORACLE_DEPENDENCY",
      "strength": "MEDIUM",
      "confidence": 0.85,
      "points_contribution": 12,
      "evidence": {
        "text_span": "resolved by CoinGecko API",
        "start_char": 201,
        "end_char": 226
      }
    },
    {
      "driver_type": "TIME_PRESSURE",
      "strength": "MEDIUM",
      "confidence": 0.78,
      "points_contribution": 9,
      "evidence": {
        "text_span": "resolves within 24 hours of market close",
        "start_char": 310,
        "end_char": 350
      }
    }
  ],
  "expected_delay": {
    "median_hours": 48,
    "p90_hours": 168,
    "p99_hours": 504
  },
  "version": {
    "heuristics_version": "1.0.0",
    "stat_model_version": "none",
    "llm_extractor_version": "v1_extract_all@1",
    "driver_taxonomy_version": "1.0.0"
  }
}

Driver Attribution

Each score includes up to 15 explainable risk drivers, sorted by point contribution. Every driver has a type code, strength (LOW/MEDIUM/HIGH), confidence score, point contribution, and evidence span pointing to the exact text in the resolution rules.

The driver taxonomy includes 15 recognized types:

Driver CodeBase PointsDescription
AMBIGUOUS_WORDING15Vague or ambiguous resolution criteria
SINGLE_ORACLE_DEPENDENCY12Single point of failure in data source
TIME_PRESSURE8Tight resolution timeline
SUBJECTIVE_JUDGMENT14Requires subjective interpretation
MULTI_STEP_RESOLUTION10Complex multi-step resolution process
EXTERNAL_DEPENDENCY9Depends on external events or data
RETROACTIVE_CHANGE18Rules may be changed retroactively
GEOGRAPHIC_AMBIGUITY7Unclear geographic scope
TEMPORAL_AMBIGUITY11Unclear time boundaries
METRIC_DEFINITION10Ambiguous metric or measurement
COUNTERPARTY_RISK13Risk from counterparty behavior
REGULATORY_RISK16Potential regulatory intervention
PRECEDENT_CONFLICT12Conflicts with prior resolutions
EDGE_CASE8Unusual edge case scenarios
INFORMATION_ASYMMETRY11Unequal access to resolution info

Settlement Delay

We model settlement delay as a lognormal distribution, providing median (p50), p90, and p99 estimates in hours. The distribution parameters are adjusted by ambiguity drivers and single-point-of-failure oracle dependencies detected in the resolution rules.

This allows traders to price time-to-resolution into their positions and calculate capital lockup costs.

LOW AAPL Closes Above $250

p50 5h
p90 1d
p99 3d

HIGH BTC > $100K EOY 2026

p50 14d
p90 45d
p99 90d
Expected delay model
{
  "median_hours": 48,
  "p90_hours": 168,
  "p99_hours": 504,
  "distribution": "lognormal",
  "parameters": {
    "mu": "ln(median_hours)",
    "sigma": "adjusted by ambiguity and spof factors"
  }
}
Key Differentiator

Pricing Engine

Our pricing engine is what sets SettleRisk apart. Given a mid-price or event probability, we compute:

  • Adjusted fair price — the dispute-probability-adjusted true value
  • Risk premium — the spread between mid-price and adjusted fair price
  • Capital lockup cost — in basis points, based on expected delay
  • Fair spread — in basis points, the minimum spread a market maker should charge
  • Do-not-quote flag — when conditions are too risky to provide liquidity

Input validation: exactly one of mid_price or p_event must be provided (XOR).

POST /v1/pricing — response
{
  "market_id": "polymarket:0x1234abcd",
  "mid_price": 0.65,
  "aggregate_risk_score": 67,
  "tier": "HIGH",
  "p_dispute": 0.231,
  "expected_delay_hours": 48,
  "adjusted_fair_price": 0.6218,
  "risk_premium": 0.0282,
  "capital_lockup_cost_bps": 42,
  "fair_spread_bps": 185,
  "do_not_quote": false
}

Batch Processing

Score or price up to 1,000 markets in a single API call. Batch endpoints use partial success semantics: the overall HTTP response is always 200, and each item in the response carries either a result or an error object.

Batch endpoints: POST /v1/risk-scores:batch, POST /v1/expected-delays:batch, POST /v1/pricing:batch

Webhooks

Register webhook endpoints to receive real-time notifications. We support 7 event types with HMAC-signed payloads, at-least-once delivery guarantees, exponential backoff on failures, and manual replay support.

Event types:

  • score.created — first score for a market
  • score.updated — score recalculated
  • score.tier_changed — tier transition
  • rules.changed — resolution rules modified
  • delay.updated — delay estimate changed
  • market.resolved — market resolved
  • url.unhealthy — monitored URL down

Webhook signing: HMAC-SHA256(secret, timestamp + "\n" + body)

gRPC

Full gRPC service with parity to the REST API, plus StreamAlerts for real-time server-sent score updates. Ideal for low-latency trading system integration.

RPCs:

GetRiskScore, GetExpectedDelay, BatchExpectedDelay,
BatchRiskScore, EvaluateRules, Price, BatchPrice,
StreamAlerts

Evaluate Rules

On-demand LLM extraction via POST /v1/evaluate-rules. Submit raw resolution rules text and get back structured risk drivers, ambiguity detection, and scoring — all in a single synchronous call.

This endpoint is stateless: it does not create or modify any persistent market, rule version, or score snapshot records. Only idempotency and audit writes are performed.

See it in action with real resolution rules.