Read W3C Bitstring Status List specification at https://www.w3.org/TR/vc-bitstring-status-list/ to understand statusListIndex, statusListCredential, and statusPurpose fields
At issuance, include a credentialStatus object in the AchievementCredential with type=BitstringStatusListEntry, statusPurpose=revocation, and a unique statusListIndex integer (e.g., 42)
Maintain a StatusListCredential document hosted at a stable public URL; this document contains an encodedList field that is a GZIP-compressed, Base64url-encoded bitstring of at minimum 16KB (131072 entries)
To revoke, flip bit at statusListIndex from 0 to 1 in the bitstring, recompress, re-encode, update the encodedList, re-sign the StatusListCredential with your issuer key, and re-publish at the same URL
Verifiers fetch the statusListCredential URL, decode the bitstring, and check the bit at statusListIndex; a value of 1 means revoked
Monitor cache TTL for the status list URL; CDN caching can delay revocation propagation to verifiers
Known gotchas
The minimum bitstring size must accommodate at least 131072 entries (16KB uncompressed); using a smaller list truncates available indices and causes spec non-compliance
Re-signing the StatusListCredential on every revocation requires key management infrastructure—if the signing key rotates, old verifiers holding the previous public key will reject the updated list
statusListIndex values must be globally unique within a single list document; index collisions silently affect multiple credentials simultaneously
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp