How verification works
This page teaches checking. It performs none — the tools live with the projects that own them, and are linked from here.
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.