Verify
Paste an Agent ID — on its own, or the whole Agent-ID: line from an e-mail — a record URL, a domain with a self-declared record, or a record itself. The check runs in your browser: it fetches the record and the key that signed it, and verifies the Ed25519 signature.
What a ✓ means
- The record was signed by the key it names, and has not been changed since.
- For a registry record: aiagentid.org issued it. For a self-declared one: the owner of that domain stands behind it.
- The record shows its current status. A suspended or revoked agent no longer acts within any declared scope.
A ✓ does not say the agent behaves well, nor that the one talking to you is that agent — ask it to prove it, e.g. by answering from the address or number its operator lists.
From the command line
pip install cryptography
curl -O https://aiagentid.org/tools/aiid.py
python3 aiid.py verify aiid:00000000000005
python3 aiid.py verify https://example.com/.well-known/aiid.json
python3 aiid.py verify-log # the whole registry: every signature, the whole chain
One file, no other dependencies. Read it before you run it: tools/aiid.py.
In Bitcoin
Each head of the chain is stamped in the Bitcoin blockchain through OpenTimestamps — no one, the registry included, can then pretend the log was different. To check: take a record's proof link (an .ots file) and the .txt beside it, and drop both on opentimestamps.org; or run ots verify from the OpenTimestamps client. The text in the .txt must equal the head that aiid.py verify-log computes.
Head of the chain
The registry log now ends at sha256:2ea542c2c205548a477f9e05010580882ff59bc660951b1994665de895bfc965. Note it down: if a later copy of the log does not contain it, the past was rewritten.