Yo @essentialrandom.bsky.social, let’s get the badge NSID published and cleaned up. The @fujocoded/atproto-badges - npmx lib looks fantastic.
Here are some live examples from the conf this year:
{
"uri": "at://did:plc:3xewinw4wtimo2lqfy5fm5sw/community.lexicon.badge.definition/3mhrjpchjiq2l",
"cid": "bafyreicwoikmvs5wsyxy3mbaooxhlp3vulry2aruaxgzsgwbdgkrtxp7fe",
"value": {
"name": "ATmosphere Conference 2026 Attendee",
"$type": "community.lexicon.badge.definition",
"createdAt": "2026-03-24T02:29:08.893Z",
"description": "Flock'd around and geese'd out!"
}
}
{
"uri": "at://did:plc:cbkjy5n7bk3ax2wplmtjofq2/community.lexicon.badge.award/i1oZsZlPLWqt0",
"cid": "bafyreigwuvfyakbkvacwnlknh76knauhdhtripqabpux5tuwgpqgztb5ge",
"value": {
"did": "did:plc:cbkjy5n7bk3ax2wplmtjofq2",
"$type": "community.lexicon.badge.award",
"badge": {
"cid": "bafyreiakanlyj3ctebwvfq4ysrzuzq4wltbynzdwt72vzrcejb4gux4tiy",
"uri": "at://did:plc:3xewinw4wtimo2lqfy5fm5sw/community.lexicon.badge.definition/3mhrjpchjiq2l"
},
"issued": "2026-03-29T23:37:20.918Z",
"signatures": [
{
"key": "did:plc:3xewinw4wtimo2lqfy5fm5sw#attestations",
"$type": "community.lexicon.attestations.signature",
"signature": {
"$bytes": "..."
}
}
]
}
}
Valid: https://badge.blue/at://did:plc:cbkjy5n7bk3ax2wplmtjofq2/community.lexicon.badge.award/i1oZsZlPLWqt0
Definitions
- name (string, should have max length, required)
- createdAt (string, datetime format, required*)
- description (string, should have max length, optional*)
- image (definitionImage, optional)
definitionImage
- ref (blob, required)
- size (number, required)
- mimeType (string, required)
Award
- badge (strongRef to badge definition, required)
- issued (string, datetime format, required)
- did (string, DID format, deprecated*)
- signatures (array of signature strong ref or inline objects, optional*)
Options
I think the badge definition looks good, no notes.
The “did” on badge awards can be deprecated imo. That was originally added before the signature spec evolved to include the required repository field. Leaving it causes no harm, so this is a very loosely held opinion.