Settlement Keeper

Overview#

The settlement keeper executes deterministic trigger transactions when deadlines and resolution conditions are met. It does not invent business logic.

Responsibilities#

text
- settlePurchase(purchase_ref, resolution_price) when 30s delivery deadline is missed
- settlePurchase(purchase_ref, resolution_price) when reveal deadline (expiry + 30m) is missed
- settlePurchase / settlePurchases after maker reveal + resolver price
- Retry until finality

Liveness Model#

Keeper is operationally primary, but all deadline transitions should allow permissionless fallback callers for liveness.

Failure Modes#

ConditionBehavior
RPC outageBackoff + retry, keep a durable job queue
Reorg riskConfirm-depth policy before terminal update
Already-settled tx raceTreat as benign idempotent outcome
Maker reveal missingTrigger unrevealed default settlement at deadline
NOTE

The keeper should publish operational metrics: queue depth, settlement latency, default counts, and retry rates.