Skip to main content
The Scenario

An 8-hour HUD course is recorded and presented to the lender.
1.46 joules.

xAPI statements logged at every activity. OpenBadges 3.0 credential issued at completion. The badge is presented to the lender as proof for the closing-cost credit. 3.1 joules.

01
LTI 1.3
EducationOS
0.18 J

Sarah launches the HUD homebuyer course via LTI 1.3 from her lender's portal.

The lender's portal POSTs an OIDC third-party-initiated login to the EducationOS tool; an LTI 1.3 ResourceLinkRequest comes back with deployment_id 9c-hud-2026 and resource_link_id rl-44210. The launch carries lis_person_sourcedid so the LRS knows it's actor Patient/8e21 before the first screen renders.

JWP ReceiptPayload
kind "edu.lti.launch"
deployment_id 9c-hud-2026
resource_link_id rl-44210
joules 0.18
cite "IMS LTI 1.3 Core §4 · OIDC third-party-initiated login"
sig "ed25519:0x4f...c1a"
02
OneRoster 1.2
Lender LMS
0.09 J

OneRoster 1.2 syncs Sarah's enrollment as roles=learner.

A OneRoster 1.2 GET /users/8e21 / GET /enrollments?user=8e21 confirms enrollment in class hud-homebuyer-2026-Q2 with role=student and dateLastModified 2026-05-21. The enrollment IS the precondition for issuing the OpenBadges credential at completion.

JWP ReceiptPayload
kind "edu.oneroster.sync"
class hud-homebuyer-2026-Q2
role student
joules 0.09
cite "1EdTech OneRoster 1.2 §Users §Enrollments"
sig "ed25519:0x4f...c1a"
03
CASE 1.0
HUD CFR Part 214
0.12 J

Course objectives bind to CASE 1.0 framework items.

The 11 HUD-required topic areas (budgeting, credit, mortgage products, fair-housing, closing, post-purchase…) are CFItems in the EducationOS CASE framework cf-hud-housing-counseling-v3. Each xAPI verb downstream attaches a CFItem URI so completion can be re-proved against the regulation, not just the syllabus.

JWP ReceiptPayload
kind "edu.case.bind"
framework cf-hud-housing-counseling-v3
items 11
joules 0.12
cite "1EdTech CASE 1.0 · 24 CFR Part 214 §214.300"
sig "ed25519:0x4f...c1a"
04
xAPI
LRS
0.21 J

Module 1 (budgeting, 47 min) emits an xAPI completed statement.

Statement {actor: Sarah, verb: completed (id http://adlnet.gov/expapi/verbs/completed), object: activity "budgeting-module-1", result.duration PT47M12S, result.score.scaled 0.88}. Statement id e4c0...88a1 lands in the LRS under voided=false. 11 modules to go.

JWP ReceiptPayload
kind "edu.xapi.statement"
verb completed
score_scaled 0.88
joules 0.21
cite "xAPI 1.0.3 §4 Statements · ADL verbs"
sig "ed25519:0x4f...c1a"
05
xAPI
LRS
0.33 J

Across 7 days, 12 xAPI statements accumulate; total contact time 8h04m.

11 completed module statements + 1 passed assessment statement (verb http://adlnet.gov/expapi/verbs/passed, scaled 0.91 over 40 items). HUD CFR Part 214 requires ≥8 hours of contact time — the LRS query SUM(result.duration) over voided=false returns PT8H4M21S. Threshold cleared by 4 minutes.

JWP ReceiptPayload
kind "edu.lrs.aggregate"
statements 12
total_duration PT8H4M21S
joules 0.33
cite "xAPI 1.0.3 §6 LRS · 24 CFR §214.300(d)(2)"
sig "ed25519:0x4f...c1a"
06
OpenBadges 3.0
Issuer
0.41 J

EducationOS issues an OpenBadges 3.0 credential as a W3C VC.

Credential type ["VerifiableCredential","OpenBadgeCredential"]. credentialSubject.achievement = hud-homebuyer-certificate-2026, evidence[0] points to the 12 xAPI statement ids. Issuer DID did:web:issuer.educationos.science, proof type DataIntegrityProof, suite eddsa-rdfc-2022.

JWP ReceiptPayload
kind "edu.credential.issue"
achievement hud-homebuyer-certificate-2026
issuer did:web:issuer.educationos.science
joules 0.41
cite "OpenBadges 3.0 §6 · W3C VC Data Model 2.0 · DI eddsa-rdfc-2022"
sig "ed25519:0x4f...c1a"
07
VC Presentation
Wallet
0.07 J

Sarah's wallet builds a Verifiable Presentation to the lender.

The lender requests presentation via OID4VP with presentation_definition input_descriptor id=hud-homebuyer-cert. Wallet wraps the VC in a VP signed with Sarah's DID, nonce 7e1a-…-0c44 (challenged by the lender) bound into the proof. Presentation size 4.1 KB.

JWP ReceiptPayload
kind "edu.vp.build"
nonce 7e1a-...-0c44
size_b 4198
joules 0.07
cite "W3C VP §4 · OID4VP draft-21 · DIF Presentation Exchange 2.0"
sig "ed25519:0x4f...c1a"
08
Verify
Lender
0.05 J

Lender verifies the VP, fires CDS-like rule, applies the closing-cost credit.

Lender resolves did:web:issuer.educationos.science, verifies the eddsa-rdfc-2022 proof, checks credentialStatus (StatusList2021 entry, not revoked), and applies the HUD-counseling closing-cost credit ($1,250) to LE/CD line A.04. Verification cost: 0.05 J. Credit: instantaneous.

JWP ReceiptPayload
kind "edu.vp.verify"
result verified
credit_usd 1250
joules 0.05
cite "W3C VC §5 verification · StatusList2021"
sig "ed25519:0x4f...c1a"

EducationOS, in one line

1.46 joules. One receipt.

EducationOS handles education as a typed, signed, energy-metered operation. The whole pillar is one shape: take a claim, do the work, sign the receipt.