Understanding Key Concepts

Before we dive in, let`s clarify a few core components of the Empeiria ecosystem:

  • Issuer: The Issuer is responsible for creating and issuing Verifiable Credentials. In this guide, the Issuer service is deployed for you via the One-Click Deployment portal. It stores credential schemas (which define the structure of credentials) and, upon request, generates credential offerings that users can claim via their wallet.

  • Schema: A schema defines the fields and data types that a credential will include. By uploading a schema to the Issuer, you inform it about the exact data structure of the credentials it will produce. For example, a "KYC Verifiable Credential" schema may include age, firstName, and lastName.

  • Verifier: The Verifier checks the authenticity and validity of credentials presented by a holder. It ensures that a credential was issued by a trusted Issuer and that it meets certain criteria. For example, the Verifier can check if the user is over 18. The Verifier service is also deployed via the One-Click Deployment portal, and it provides endpoints to generate verification QR codes and process verification results.

  • Empe DID Wallet: A reference mobile wallet (available for iOS/Android) used to store and present credentials. Users scan QR codes displayed by the Issuer or Verifier flows with this wallet. When issuing a credential, the user scans a code to add the credential to their wallet. When verifying, they scan a verification QR code to prove they hold a valid credential.

Overall Flow:

  1. Deploy Issuer and Verifier via One-Click Deployment.

  2. Upload a schema to the Issuer so it knows how to structure credentials.

  3. Issue credentials by having the user submit their info, and display a QR code from the Issuer.

  4. The user scans the issuance QR code with the wallet to claim the credential.

  5. To verify, request a verification QR code from the Verifier, show it to the user.

  6. The user scans the verification QR code with their wallet and, if valid, the Verifier notifies your backend that the user is verified.

In the following steps, we`ll set everything up and run through these flows in detail.

Last updated