How verification works
Archived page — proof check disabled. This page preserves wording served on October 27, 2026, with the interactive check removed. Parts of the historical text below overstate what a valid proof establishes about the current visitor and where its nullifier was sent; a correction is being prepared. A valid proof can be submitted again and cannot establish who is present now. This archive does not request or verify a World ID proof.
Historical opening text, preserved for the record:
This page teaches checking, and it runs one check itself: the live check below, which proves the visitor. The attestation checks live with the projects that own them, and are linked from here.
Earlier World ID check description
The paragraph below is preserved as historical wording, not current guidance.
This is the one claim, run on you. Press the button and World App will ask you to prove with your World ID; this site verifies the proof with World and shows the result here. The check grants nothing, creates no account, and stores nothing: the proof is handled in this page and in the verification call, and afterwards the page shows only a short receipt hash.
Archived interaction disabled. The earlier button and its proof-check loader have been removed from this archived view. The original browser bundle remains in this snapshot as an inert record.
An operator registers an agent wallet in AgentBook with their verified World ID. The operator signs an attestation binding that wallet to a Discord application. A checker verifies the signature, checks the expiry, and resolves the wallet live in AgentBook. The result, stated exactly: the operator was verified as a unique human. It does not prove the human wrote any particular message, endorses any particular output, or controls the bot at this moment.
- The signature on the attestation recovers to the wallet it names.
- The attestation has not expired.
- A live AgentBook lookup resolves the wallet's registration.
- The public result shows the status, a truncated wallet address, a hash of the human identifier, and the time of the check.
Two results are kept distinct, always: not registered (the lookup resolved and found nothing) and could not be checked (the lookup itself failed). A failed lookup is never shown as a failed registration. The full identifier is resolved privately inside the check and never displayed; what a public page may show is its hash.
The verify page
No install. You will paste an application id and read the result. Part of Fiador (human-backed attestation for Discord bots); design-stage until it ships.
The self-hosted verifier
A server admin will run the verifier under their own bot token; it is designed to grant or remove the server's “Human-backed” role. There is no central hosted bot in v1, and no invite link is coming — that is deliberate.
The served badge
Designed as an image rendered from a live check at request time, carrying its check time, and decaying visibly when a registration lapses. A copied static badge is a picture, not a proof.
Specimen, built from synthetic data only (invented application, invented truncated wallet, labelled synthetic hash):
| Field | Verified | Not verified |
|---|---|---|
| Status | Registered; attestation valid | Not registered / could not be checked |
| Wallet | 0x0000…0000 (synthetic) | — |
| Human identifier | hash only (synthetic) | — |
| Checked at | shown with every result | shown with every result |
“Verify” does four jobs in this program. The provenance seal's hash page checks a specific piece of content against its seal. Cole's per-task pages are designed to check one specific outbound task. Each lives on its own project's surface and checks a different thing; this page is the map.