Buyer verification
Verification is the free side of the system: a paying agent or platform checks a seller's attestation with no charge, no registration and no personal data. The check completes locally.
The verification path
- Fetch the verdict for the seller's endpoint identifier over the free
path. The verdict is a small signed document: operator status, guarantee-deposit state, verification date, and the renewal cadence promise.
- Check freshness against the cadence the credential itself promises —
the buyer never needs a clock authority beyond its own.
- Verify the signature locally. The verdict payload verifies with a
published public key (Ed25519) against the canonical byte form of the payload. No call to any ZadQ system is required at decision time.
verdict ──► freshness check ──► local signature check ──► badge state
│ │ │
└── absent ────┴──── stale ──────────┴── invalid ──► "unknown"
Badge states
The badge shows one of three words. The verdict object carries the outcome (human_backed, revoked, stale, no_signal, with reason on any non-positive one); the copy-in badge snippet reduces it to three states.
| Badge | Verdict outcome | Snippet state | Meaning |
|---|---|---|---|
| verified | human_backed | human-backed | Valid, fresh attestation; an accountable, verified operator with an active guarantee deposit stands behind the endpoint |
| not verified | revoked | revoked | The attestation has been withdrawn, or has lapsed past its renewal deadline |
| unknown | stale, no_signal, or no verdict at all | unknown | No usable verdict — stale, withheld, unreachable or unverifiable — the neutral fallback |
Graceful degradation
unknown is a first-class state, not an error. Every integration keeps working when no verdict is available: the badge shows unknown and the payment flow proceeds exactly as it would without the attestation layer. Buyer-side policy — whether to pay unknown sellers — always belongs to the buyer, never to the verification layer.
What verification never requires
- No account, key or credential on the buyer side.
- No fee on the verification path.
- No personal data in either direction.
- No live dependency: a cached verdict inside its freshness window verifies
offline.
Next: the SDK reference lists the vendorable modules implementing this path.