Skip to main content

Open Badge 3.0 interoperability

Portable proof, with every boundary visible.

Nyvarra issues, exports, validates, and imports Open Badge 3.0 credentials aligned with the W3C Verifiable Credentials 2.0 data model. This profile states exactly what is implemented and what remains outside the current verifier.

Interoperability profile

Illustrative contract view

Public
contexthttps://www.w3.org/ns/credentials/v2
contexthttps://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json
schemahttps://purl.imsglobal.org/spec/ob/v3p0/schema/json/ob_v3p0_achievementcredential_schema.json
proofJWS + JCS Data Integrity
boundaryUnsupported proof suites are not verified

Private JWK material is rejected. Remote retrieval is HTTPS-only, DNS-pinned, size- and time-bounded. Unsupported suites are never presented as verified.

01

Profile anchors

The exact contexts, schema, and proof contract.

Portability starts with precise identifiers. These are the references Nyvarra expects when it exports and validates an Open Badge 3.0 credential.

Required order

Credential contexts

https://www.w3.org/ns/credentials/v2https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json
Schema

Achievement credential

https://purl.imsglobal.org/spec/ob/v3p0/schema/json/ob_v3p0_achievementcredential_schema.json
Proof allowlist

JWS + Data Integrity

EdDSA, ES256, eddsa-jcs-2022, and ecdsa-jcs-2019 with a public JWK. Private JWK material is rejected.
02

Conformance ledger

Support states that do not overstate the implementation.

Supported, verified, recorded, not-yet, and not-claimed are deliberately different outcomes. Procurement and integration decisions should preserve those distinctions.

CapabilityStateBoundary
01Credential modelSupportedW3C VC 2.0 with OpenBadgeCredential and AchievementSubject.
02JSON-LD exportSupportedExact signed credential document using the required ordered contexts.
03VC-JWT exportSupportedCompact EdDSA JWS with iss, sub, jti, and nbf claims.
04Schema referenceSupportedOpen Badge 3.0 achievement credential schema.
05External importSupportedJSON-LD and compact JWT documents, private by default.
06JWS proofVerifiedEdDSA and ES256 with embedded or safely resolved public JWKs.
07Data IntegrityVerifiededdsa-jcs-2022 and ecdsa-jcs-2019; RDF and selective-disclosure suites remain unsupported.
08Bitstring Status ListSupportedSigned remote lists, privacy minimum, purpose, index, revocation, suspension, and message state.
09Remote proof keysSupportedBounded HTTPS and did:web resolution with DNS pinning and private-network rejection.
03

Export and validate

Negotiate the format. Validate the structure. Report proof separately.

The export route negotiates JSON-LD or compact JWT through the Accept header. The public validator returns structural errors, warnings, and a separate proof result.

curl
curl -H 'Accept: application/ld+json' \
  https://nyvarra.app/api/public/credentials/NV-EXAMPLE/open-badge

curl -H 'Accept: application/jwt' \
  https://nyvarra.app/api/public/credentials/NV-EXAMPLE/open-badge

curl -X POST -H 'Content-Type: application/ld+json' \
  --data-binary @credential.json \
  https://nyvarra.app/api/open-badges/validate

Use application/ld+json for the exact signed credential document or application/jwt for compact VC-JWT export.

Export

JSON-LD returns the exact signed credential document.
VC-JWT uses a compact EdDSA JWS with iss, sub, jti, and nbf claims.

Validate

Required contexts, fields, and date validity are checked.
Supported JWS and JCS Data Integrity proof integrity is reported separately from structural validity.
Bitstring status lists are proof-verified before revocation or suspension is reported.
Other proof suites are recorded as unsupported, not verified.
04

Import boundary

External proof enters privately and keeps its support state.

JSON-LD and compact JWT documents can be imported into the Holder workspace. Structural validity and proof support remain distinct.