Skip to main content
The Artifact

Credential walker.

xAPI statement → OpenBadges 3.0 envelope → LTI 1.3 presentation. Click any node, see the standard that owns it.

xA
Dimension
xAPI Statement
0.05–0.6 J
per call

the unit of learning evidence

xAPI 1.0.3 statements are the atom — {actor, verb, object} with optional result, context, timestamp. EducationOS LRS persists statements with voided=false by default and exposes the standard /statements query surface. Verbs come from ADL's registry; activities are typed by IRI so cross-platform aggregation is unambiguous.

Sample receipt
JWP ReceiptPayload
kind "edu.xapi.statement"
verb completed
duration PT47M12S
joules 0.21
cite "xAPI 1.0.3 §4 Statements · ADL verb registry"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
spec
xAPI 1.0.3 (Tin Can)
transport
HTTPS + RFC 7519 signed statements (optional)
verb_registry
ADL adlnet.gov/expapi/verbs
OB3
Dimension
OpenBadges 3.0
0.1–1.2 J
per call

the credential envelope

OpenBadges 3.0 is a W3C Verifiable Credential profile. credentialSubject.achievement carries the human-readable claim; evidence[] points back to the xAPI statements (or any URI) that justify it. Proof is a DataIntegrityProof (suite eddsa-rdfc-2022) so verification is offline and replayable.

Sample receipt
JWP ReceiptPayload
kind "edu.credential.issue"
issuer did:web:issuer.educationos.science
proof_suite eddsa-rdfc-2022
joules 0.41
cite "OpenBadges 3.0 §6 · W3C VC Data Model 2.0"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
spec
1EdTech OpenBadges 3.0
envelope
W3C VC Data Model 2.0
revocation
StatusList2021
LTI
Dimension
LTI 1.3
0.08–0.5 J
per call

course launch + roster

LTI 1.3 (IMS) handles the launch contract between platform and tool: OIDC third-party-initiated login, a signed JWT id_token carrying claim ResourceLinkRequest, and the Names-and-Roles Provisioning Service for live roster pulls. Assignment-and-Grade Services round-trip score back to the platform when xAPI isn't enough.

Sample receipt
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 · LTI Advantage NRPS · AGS"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
spec
1EdTech LTI 1.3 + Advantage
auth
OIDC + signed JWT id_token
services
NRPS · AGS · Deep Linking 2.0
LRS
Dimension
LRS Query
0.15–1.0 J
per call

the aggregate over evidence

The Learning Record Store is the canonical aggregate. Queries hit /statements with filters {agent, verb, activity, since, until} and the server returns a paginated list. EducationOS publishes prebuilt aggregates (total_duration, statements_count, last_passed) per (actor, framework) so downstream callers don't have to re-page.

Sample receipt
JWP ReceiptPayload
kind "edu.lrs.aggregate"
actor Patient/8e21
window 7d
joules 0.33
cite "xAPI 1.0.3 §6 LRS · /statements"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
spec
xAPI 1.0.3 §6
indexes
actor · verb · activity · time
voiding
voided=false default scope
CFI
Dimension
CASE 1.0
0.05–0.4 J
per call

framework alignment

CASE 1.0 (1EdTech) models standards frameworks as CFDocument → CFItem with stable URIs. EducationOS binds course outcomes to CFItems so an xAPI completed statement carries the framework citation alongside the activity; an OpenBadges credential's evidence then re-cites the same item. Auditors check the framework, not the syllabus.

Sample receipt
JWP ReceiptPayload
kind "edu.case.bind"
framework cf-hud-housing-counseling-v3
items 11
joules 0.12
cite "1EdTech CASE 1.0 · CFItem URI scheme"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
spec
1EdTech CASE 1.0
primitives
CFDocument · CFItem · CFAssociation
id_scheme
URI per CFItem

EducationOS, in one line

education, made inspectable.

Click anything. The same primitives that compose the rest of the Transaction Science family — receipts, joules, signed transport — show up here too. The family is one system.