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 finalityLiveness Model#
Keeper is operationally primary, but all deadline transitions should allow permissionless fallback callers for liveness.
Failure Modes#
| Condition | Behavior |
|---|---|
| RPC outage | Backoff + retry, keep a durable job queue |
| Reorg risk | Confirm-depth policy before terminal update |
| Already-settled tx race | Treat as benign idempotent outcome |
| Maker reveal missing | Trigger unrevealed default settlement at deadline |
NOTE
The keeper should publish operational metrics: queue depth, settlement latency, default counts, and retry rates.