Provider bonds & quarantine
Bonds on model claims, quarantine on an upheld challenge, and the path back to good standing.
The challenge lane needs something on the provider's side of the table before the first fill ever clears. That is the bond: collateral a provider posts on a model claim, the statement "this endpoint serves this model, and here is what I lose if that is false."
Model claims and bonds
A model claim ties a provider identity to a model class: the exact thing canaries fingerprint and challengers contest. Each claim carries a bond_amount. In the points era this is a declared figure on the claim record, visible to anyone reading GET /v1/model-integrity/claims/:id. In the V2 vault era it becomes escrowed USDC in an on-chain provider vault, and slashing moves real collateral: 50% of a slash to affected customers, 50% to an insurance pool. The badge on this page reads "points era" because the enforcement teeth today are the points ledger and quarantine, not the vault.
Quarantine
An upheld challenge quarantines the claim it hit. Quarantined claims stop serving: quotes against that model class no longer enter the auction, so the revenue stops the moment the verdict lands. Points-era quarantine is the strongest non-monetary consequence the router has, and it binds exactly where the fraud happened (the claim, not the whole provider), so an operator with three honest claims and one dishonest one loses the one.
The way back
Recovery is operator-mediated in the points era: a quarantined claim is restored when the provider demonstrates the deployment now serves what it claims (fresh fingerprints, a clean probation window). The slash is not refunded; recovery restores the future, not the past. Repeat offenses walk up the fault table toward delisting, per the penalty schedule in Staying in good standing.
- router/src/integrity.ts claims, bond_amount, quarantine transitions
- designs/omnious.md stake and slashing design, section 6.3