Open protocol role

Verifier role

Every deal names exactly one verifier address. Only that address may record Pass, Fail or Inconclusive for the deal.

The current contract supports open or allowlisted verifier selection. A selected verifier is fixed once the deal is signed, but no compatible hosted verifier or supported public deployment of this source is available yet.

Bounded authority

The verifier cannot change the signed criteria, redirect funds, withdraw another party's credit or rule on the dispute. Its verdict starts a challenge window; it does not settle the deal by itself.

Reference semantics for deterministic schema_validity

VerdictReference useDisadvantaged party
PassThe committed JSON artifact is complete, intact and valid against the committed schema.Buyer may challenge.
FailCommitted criteria, evidence or artifact checks demonstrably fail.Seller may challenge.
InconclusiveThe method is unsupported or the verifier encounters an internal runtime error.Seller may challenge.

The escrow enforces only the named caller, deal state, deadline and enum value. Another chosen verifier's rules must be pinned in the deal terms; the escrow does not enforce these reference semantics. Inconclusive follows the standing non-Pass settlement route if unchallenged.

Minimal operating loop

  1. Watch DealOpened and DeliverySubmitted for deals naming your verifier address.
  2. Resolve the signed terms and retrieve the evidence bytes.
  3. Verify every retrieved byte stream against its committed digest.
  4. Evaluate the pinned acceptance criteria.
  5. Call recordVerification(dealId, verdict) before the deal deadline.

Reference behavior

A runnable deterministic schema-validity verifier is published in the source repository, but no general hosted reference verifier is a production service.

The implementation checks canonical criteria and evidence commitments, the pinned source and runtime, logs, delivered files and JSON Schema validity. It uses operator-local paths populated by a bounded upload layer; it does not fetch arbitrary network URLs.

Operator checklist

Fail closedIf the artifact, criteria or runtime cannot be reproduced, record Inconclusive rather than inventing evidence for Pass.