Data failures
| What goes wrong | Effect on quotes | Effect on settlement |
|---|---|---|
| The market data feed has no rate for a pair | Quotes for that pair are refused | No rate is submitted; the contract waits |
| Operators disagree by more than 1% | None | Submissions are cleared and operators submit again on their next run |
| Too few operators submit within 15 minutes | None | No rate is agreed yet; the contract waits |
| The agreed rate is outside 0.5× to 2× the rate at purchase | None | Settlement is refused; the contract waits for a valid rate |
| Daily price history is out of date | Quotes for that pair are refused | None |
What waiting means
A contract that cannot settle stays Active. Its reserve stays locked, and the business cannot yet receive a payout. Nothing is lost: once a valid rate is agreed, the contract settles on it, and there is no deadline for the business to receive the payout.
Today, nobody can force a contract to settle on a rate the oracle has not agreed, including BlockFinaX.
In the next release (see Upgrades), a restricted fallback lets the protocol owner settle a contract the oracle could not settle, so its capital is not locked for ever. It opens only 7 days after expiry, only when no usable agreed rate exists, and the payout stays capped at the contract's reserve. Every use is recorded on chain.