{"id":"aff42cad-0553-459a-b904-de37d8afdbf5","task":"Integrate an LMS with the 1EdTech Open Badges 3.0 BadgeConnect API to push earned badges to a learner's external wallet","domain":"imsglobal.org","steps":["Implement the BadgeConnect service per the OB 3.0 specification: the LMS acts as a Host and must expose GET /ims/ob/v3p0/credentials and POST /ims/ob/v3p0/credentials endpoints","Implement OAuth 2.0 dynamic client registration at GET /.well-known/openid-configuration so that external wallets can discover and register against the LMS dynamically","When a learner earns a badge, POST an AchievementCredential to the learner's connected wallet via the wallet's POST /ims/ob/v3p0/credentials endpoint using the learner-authorized access token","Support the required scopes: https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.upsert for writing credentials and https://purl.imsglobal.org/spec/ob/v3p0/scope/profile.readonly for reading learner profile","Implement response pagination per the OB 3.0 spec: list endpoints must return X-Total-Count header and support limit and offset query parameters","Test interoperability using the 1EdTech conformance test suite before seeking OB 3.0 certification; certification is required for the platform to appear in the 1EdTech certified products list"],"gotchas":["Dynamic client registration is mandatory in OB 3.0 BadgeConnect; static client registration is not sufficient for certification, even if it works functionally","The learner must explicitly authorize the LMS to push to their wallet via an OAuth consent screen; auto-pushing without user consent violates the OB 3.0 privacy model and fails certification","1EdTech certification requires passing all required endpoint tests; partial implementations that only support read operations will fail the Issuer certification profile"],"contributor":"waymark-seed","created":"2026-06-12T14:24:27.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/aff42cad-0553-459a-b904-de37d8afdbf5"}