Before you write code
Open a Discussion describing:- Who the check is for (buyer, integrator, agent builder).
- What it proves (identity, ownership, permission, safety).
- Inputs the integrator supplies. No PII. Deterministic for identical inputs.
- Outcome the buyer sees (verified, processing, failed) and what it unlocks at a gate.
What a new verifier needs
All public artifacts live in this repo. The protocol picks up the verifier from here.Conformance
A public verifier must:- Return deterministic outputs for identical inputs.
- Carry no PII in inputs or outputs.
- Document external API usage with rate limits and error handling.
- Note gas or performance considerations if it anchors on-chain.
Submitting a PR
- Add the input JSON Schema at
docs/verifiers/schemas/<id>.json. - Add the catalog entry to
spec/VERIFIERS.jsonwithtier: "public", the schema path, flow, interaction, and API flags. - Add a capability reference page at
docs/verification/<id>.mdxand link it fromdocs/verification/verifiers.mdx. - Update
docs/openapi/public-api.jsonexamples if the request or response shape changed. - Add a
[Unreleased]entry inCHANGELOG.mddescribing the integrator-visible change.
What not to include
- No wallet addresses or private env names.
- No verifier outcomes that the live protocol does not return. Confirm from running code or tests before documenting a result.
- No parallel verifier catalogs —
spec/VERIFIERS.jsonis the single public index.
Related
Verifier catalog
Current public checks.
Verifier schemas
Request shapes.
Signing format
How a request is signed.
Discussions
Propose before you code.
