Open standards
Five open standards. By design. From day one.
Every LearnCoin credential is simultaneously a W3C Verifiable Credential 2.0, a Blockcerts v3 credential, an Open Badges 3.0 credential, and a JSON-LD / Linked Data document anchored against a W3C Decentralized Identifier. No living competitor ships all five in production. We commit to all five because each one closes a different failure mode.
At a glance
What a LearnCoin credential looks like on the wire
The signed JSON-LD document every recipient receives declares four JSON-LD contexts in a specific order. That ordering is what makes the five standards interoperate without protected-term conflicts.
{
"@context": [
"https://www.w3.org/ns/credentials/v2", // W3C VC 2.0
"https://w3id.org/blockcerts/v3", // Blockcerts v3
"https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json" // Open Badges 3.0
],
"type": ["VerifiableCredential", "OpenBadgeCredential"],
"issuer": { "id": "did:web:learncoin.me", "type": ["Profile"] },
"validFrom": "2026-04-20T15:33:40Z",
"credentialSubject": {
"id": "urn:uuid:…",
"type": ["AchievementSubject"],
"achievement": { "id": "…", "type": ["Achievement"], "name": "…", … }
},
"proof": {
"type": "MerkleProof2019",
"proofPurpose": "assertionMethod",
"verificationMethod": "did:web:learncoin.me#tenant-ewance",
"proofValue": "z…"
}
}The W3C Verifiable Credentials Data Model is the umbrella specification for digitally signed claims about a subject. Every LearnCoin credential declares VerifiableCredential in its type array and references the VC 2.0 context at https://www.w3.org/ns/credentials/v2.
We use the 2.0 iteration of the data model — the current W3C Recommendation as of May 2025 — not the 1.1 version. That means LearnCoin credentials use validFrom and validUntil rather than the legacy issuanceDate and expirationDate fields, and the issuer is rendered as a Profile object with a DID identifier.
A VC 2.0 document is not intrinsically anchored to any particular chain or proof suite. LearnCoin uses VC 2.0 as the shape and layers Blockcerts v3 on top for the cryptography.
LearnCoin's cryptographic issuer identity is a W3C DID. The DID method is did:web, resolved via HTTPS at a well-known path.
- Production DID:
did:web:learncoin.me— DID document at /.well-known/did.json - Tenant binding: each tenant appears as a distinct
verificationMethodfragment (for example,#tenant-ewance). The LearnCoin root DID identifies the cryptographic issuer; tenant fragments identify the per-tenant key that signed a given credential. - Key type:
EcdsaSecp256k1VerificationKey2019— the same curve Ethereum uses, held in Google Cloud KMS HSMs.
Every credential's proof.verificationMethod dereferences to one of these fragments. A recipient or verifier can follow the DID chain independently, without trusting any LearnCoin API, to confirm that the declared public key belongs to the declared issuer.
Blockcerts is the open standard for blockchain-anchored credentials, originally pioneered by the MIT Media Lab in 2017 and currently stewarded by Hyland. It defines a W3C VC profile with MerkleProof2019 signatures anchored to a public blockchain.
Every LearnCoin credential embeds its MerkleProof2019 proof value. The verifier walks the Merkle path from the signed credential's canonical hash up to the on-chain root, confirms the anchoring transaction landed, and confirms the issuer's signature.
LearnCoin credentials are verifiable by any Blockcerts-compatible tool — including cert-verifier-js, the blockcerts-verifier Web Component, and native Blockcerts iOS/Android wallets. We contribute upstream to Blockcerts where possible; our Base L2 chain support was contributed back to lds-merkle-proof-2019 and explorer-lookup.
Powered by Blockcerts — the open standard pioneered by MIT Media Lab.
Open Badges 3.0 is 1EdTech's W3C VC profile for digital badges and micro-credentials. OB 3.0 defines the semantic shape of a credential — the fields inside credentialSubject, how achievements are described, how evidence is attached, how skills are aligned to frameworks — where Blockcerts defines the cryptographic shape.
LearnCoin declares OpenBadgeCredential in every type array and populates the OB 3.0 AchievementSubject structure: achievement id, type, name, description, criteria, and multi-framework alignment[] entries are in every signed credential today.
What's next:formal 1EdTech OB 3.0 conformance test-suite certification is on the roadmap. A public LearnCoin extension JSON-LD context will land alongside to carry fields that aren't in the OB 3.0 v3.0.3 context (awardingBody, resultDescription, evidence, result) as cryptographically committed data. Until then, those fields render on the verification page as display metadata rather than signed claims.
Positioning: no living competitor ships OB 3.0 natively in production. Credly/Pearson is still OB 2.0 and mid- migration; Accredible is partial; Sertifier and VerifyEd are OB 2.0. LearnCoin is OB 3.0 from the first credential.
Every LearnCoin credential is a JSON-LD document, and every proof is a Linked Data Proof. We canonicalize credentials with URDNA2015 (RDF Dataset Canonicalization 2015, the precursor to the W3C Recommendation RDFC-1.0), producing deterministic N-Quads output as the byte input to SHA-256 leaf hashing.
The MerkleProof2019 proof suite is in the Linked Data Signatures family. The proof object carries a fixed set of fields — type, created, proofPurpose, verificationMethod, proofValue — that any LD-Proof-aware verifier can interpret.
Because the proof is data-integrity-based rather than transport- bound, a recipient can save the credential as a static JSON file, email it, print its verify URL as a QR code, or host it anywhere. Verification doesn't require a LearnCoin round-trip.
How the five fit together
Each standard closes a specific failure mode
Trust — what does the signature actually prove?
Closed by Blockcerts v3 + DIDs
The MerkleProof2019 signature plus the did:web DID resolution means any verifier can trace the signing key back to an HTTPS-served DID document controlled by LearnCoin. The trust path is transitive and public.
Survivability — what if LearnCoin shuts down?
Closed by Blockcerts v3 + JSON-LD
Because the proof is anchored on a public chain and the credential is a self-contained JSON-LD document, verification continues to work as long as the chain exists and the recipient has their file — even with no LearnCoin servers running.
Portability — can this work with other credential tools?
Closed by VC 2.0 + OB 3.0
Other VC-aware tools and OB 3.0 importers can read LearnCoin credentials without custom parsers. When Credly finishes its OB 3.0 migration, their importers will read ours.
Interpretation — is it a diploma? A micro-badge? A work sample?
Closed by OB 3.0
The semantic OB 3.0 layer — achievement, criteria, alignment, skills — tells the verifier what the credential means, not just that it was signed. Critical for recruiter-side aggregation and AI-assisted credential interpretation.
Transparency
What we claim, and what we don't
These five claims are audited against the live credential payload the production pipeline emits today, not against aspirational roadmap statements. A few things worth saying up front:
- Open Badges 3.0 conformance is structural today — the shape is there. Formal 1EdTech test-suite certification is on the roadmap.
- Standards-discoverable revocation (StatusList2021 / Bitstring Status List) is on the roadmap but not shipped. Revocation today works via the LearnCoin verification API, not via the raw JSON-LD.
- OpenID4VCI / OpenID4VP, W3C Digital Credentials API, EUDI Wallet ARF alignment, and EBSI trusted-issuer accreditationare on our 2026–2027 roadmap. We don't claim them yet because they aren't shipped yet.