Storages#

Currently there is the only digital wallet is supported for production.

Learner Credential Wallet#

Official web-site:

Learner Credential Wallet is an open source mobile wallet developed by the Digital Credentials Consortium, a network of leading international universities designing an open infrastructure for academic credentials.

Learner Credential Wallet (LCWallet) is a mobile app available for Android and IOS devices.

Usage prerequisites#

LCWallet maintainer (Digital Credentials Consortium) requires verifiable credentials issuer to be allow-listed (included to the trusted issuers list - community issuer registry).

Note

For development/testing purposes a Sandbox Registry is available. If you would like to be added to the Sandbox Registry, please open a pull requests directly against that repository, matching the format for existing issuers in registry.json

Learner experience#

This explains a generic usage flow for learners.

  1. Learners have to download and install the official application (Google Play or App Store, we’ll use Android version for examples).

  2. Once installed there is initial one-time setup guide.

    Learner Credential Wallet setup step 1 Learner Credential Wallet setup step 2 Learner Credential Wallet setup step 3
  3. Learners navigate Learner Record MFE interface (Verifiable Credentials tab) and claim for a verifiable credential issuance (clicking a Create button).

  4. On the next step learners are asked for QR code scanning - that’s where the LCWallet app starts its flow. Learners use Scan QR code option in the mobile application.

    Learner Credential Wallet empty Learner Credential Wallet add credential Learner Credential Wallet QR code scanner
  5. LCWallet processes QR code, communicates with the Open edX Platform and gets new verifiable credential. If everything is correct, now digital wallet holds the verifiable credential for the given Open edX credential (program certificate).

    Learner Credential Wallet accept credential Learner Credential Wallet credential preview Learner Credential Wallet credential status
  6. From this point learners are free to share their achievements in different ways

    Learner Credential Wallet share credential Learner Credential Wallet share credential with public link Learner Credential Wallet shared with public link credential
# an example of a verifiable presentation being shared:
{
"@context": [
    "https://www.w3.org/2018/credentials/v1"
],
"type": [
    "VerifiablePresentation"
],
"verifiableCredential": [
    {
    "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://w3id.org/security/suites/ed25519-2020/v1",
        "https://w3id.org/vc/status-list/2021/v1",
        "https://purl.imsglobal.org/spec/ob/v3p0/context.json"
    ],
    "id": "urn:uuid:7e33f82c-474b-4331-9cb7-71d2ace136e4",
    "type": [
        "VerifiableCredential",
        "OpenBadgeCredential"
    ],
    "credentialSubject": {
        "id": "did:key:z6MkoXpRTvd9KhEdbjaieR2XCs6XewVyW32dyKjG1GoPGNww",
        "name": "demo",
        "achievement": {
        "criteria": {
            "narrative": "Demo successfully completed all courses and received passing grades for a Professional Certificate in dcc program a program offered by , in collaboration with Open edX."
        },
        "description": "Program certificate is granted on program dcc program completion offered by , in collaboration with Open edX. The dcc program program includes 1 course(s).",
        "id": "31187856-01ac-4abc-9b77-4add9cf7c50b",
        "name": "Program certificate for passing a program dcc program",
        "type": "Achievement"
        },
        "type": "AchievementSubject"
    },
    "issuer": {
        "id": "did:key:z6MkkePoGJV8CQJJULSHHUEv71okD9PsrqXnZpNQuoUfb3id",
        "type": "Profile",
        "name": "Default verifiable credentials issuer"
    },
    "issuanceDate": "2023-07-10T15:25:41Z",
    "proof": {
        "type": "Ed25519Signature2020",
        "proofPurpose": "assertionMethod",
        "proofValue": "z5HRVyz1ZHUY7f8m6ttUS7JViKqwhFBWt2caEnauEAKmWs69ud93ok6AMrmfjZe1bLdrLcPusVNtNXCzwHXLaFJmJ",
        "verificationMethod": "did:key:z6MkkePoGJV8CQJJULSHHUEv71okD9PsrqXnZpNQuoUfb3id#z6MkkePoGJV8CQJJULSHHUEv71okD9PsrqXnZpNQuoUfb3id",
        "created": "2023-07-10T15:25:41.581Z"
    },
    "credentialStatus": {
        "id": "https://credentials.example.com/verifiable_credentials/api/v1/status-list/2021/v1/did:key:z6MkkePoGJV8CQJJULSHHUEv71okD9PsrqXnZpNQuoUfb3id/#6",
        "type": "StatusList2021Entry",
        "statusPurpose": "revocation",
        "statusListIndex": "6",
        "statusListCredential": "https://credentials.example.com/verifiable_credentials/api/v1/status-list/2021/v1/did:key:z6MkkePoGJV8CQJJULSHHUEv71okD9PsrqXnZpNQuoUfb3id/"
    },
    "name": "Program certificate for passing a program dcc program",
    "issued": "2023-07-10T15:25:41Z",
    "validFrom": "2023-07-10T15:25:41Z"
    }
]
}

Other options#

Additionally, you can install the openedx-wallet POC for investigation/onboarding purposes. This wallet is not recommended for production deployment.