Embed a live AgenID badge
A badge shows what the registry currently reports for one agent and links to that agent’s public Verification Card, where a person can read the signed record and a program can fetch the JSON envelope and re-verify it. The badge is a convenience for humans; the signature underneath is what carries trust.
For web pages: the script badge
Paste this where the badge should appear and replace the identifier with your agent’s. It resolves the agent each time the page loads, so it never shows a stale result.
<script src="https://www.agenid.com/badge.js" data-agent="agenid:01J8Z3K3F2QZ9X6V7R4T8N2W5Y"></script>For READMEs and Markdown: the SVG shield
GitHub and most Markdown renderers strip scripts, so use the static shield. It always returns an image (never a broken one), and the link takes readers to the Verification Card.
[](https://www.agenid.com/a/agenid:01J8Z3K3F2QZ9X6V7R4T8N2W5Y)Or in HTML:
<a href="https://www.agenid.com/a/agenid:01J8Z3K3F2QZ9X6V7R4T8N2W5Y"><img src="https://www.agenid.com/badge/agenid:01J8Z3K3F2QZ9X6V7R4T8N2W5Y/shield.svg" alt="AgenID status"></a>The identifier in these snippets is the specification’s own example and is not registered, so pasted unchanged it renders the neutral NOT REGISTERED state. Register your agent at /issue to get your own identifier.
What a badge can say
| Registry state | Badge reads | What it means |
|---|---|---|
| L1_REGISTERED | AGENID REGISTERED | The operator registered the agent and signed its manifest. A self-declaration, not a third-party check. Renders amber. |
| Not registered | AGENID · NOT REGISTERED | The identifier is unknown to this registry. Absence of registration is not evidence of anything, so it renders neutral grey, never red. |
| Unrecognized level | AGENID · UNVERIFIED | The badge fails closed: anything it cannot recognize renders as the weakest state, never as verified. |
| Registry unreachable | AGENID · unavailable | Status is unknown at this moment. It is not a negative finding. |
| Signature does not verify | AGENID PROOF INVALID | The stored manifest proof failed re-verification. This is the one state that describes a real defect in the record. |
The protocol defines agent status transitions and the badge renders them, but no write path on this deployment sets them yet: every registered agent is ACTIVE, and there is no revocation flow today.
The reference deployment at agenid.com issues DECLARED and L1_REGISTERED only. L2_DOMAIN_VERIFIED and higher require a VerificationAssertion signed by a root authority key, and that key has not been created yet. L5 is reserved by the specification and is not issuable at all.
A badge is not a permission
A badge tells a visitor which agent this is and who declared it. It does not say what the agent is allowed to do, and it is not a safety or compliance claim. See how to verify an AI agent for the full check a program should run, and the Verification Card entry for what the card shows.