For the complete documentation index, see llms.txt. This page is also available as Markdown.

Overview

This tutorial guides you through building a working environment that issues and verifies Verifiable Credentials within the Empeiria ecosystem. You'll stand up a small backend that talks to the Issuer and Verifier APIs, create a credential schema, issue a credential to a wallet, and gate access to a protected page behind a successful verification.

The credential flows you'll implement are built on open standards: OpenID4VCI for issuance and OpenID4VP for verification, with credentials issued in SD-JWT VC format so the holder can selectively disclose individual claims.

What You Will Learn:

  • How to stand up a hosted deployment with the One-Click Deployment platform, then create and configure an Issuer and Verifier against that deployment through its API and operator console.

  • How to authenticate to the Issuer and Verifier APIs using an OIDC access token — an Authorization: Bearer <JWT> header (with the local-development shortcut of running the API with AUTH_DISABLED=true).

  • How to run a simple Express-based backend that integrates with the Issuer and Verifier APIs.

  • How to create a credential schema and issue credentials against it.

  • How to implement verification logic so that only holders of a valid credential can access a protected resource.

  • How to set up a simple frontend that displays QR codes for the issuance and verification flows.

  • How to test the full flow using a reference mobile wallet application (iOS/Android).

Prerequisites:

  • Node.js and npm installed.

  • Basic knowledge of JavaScript/TypeScript and Node.js.

  • A reference Empe DID Wallet:

    • Android: https://play.google.com/store/apps/details?id=io.empe.wallet

    • iOS: https://apps.apple.com/us/app/empe-wallet/id6468363115

By the end of this tutorial, you'll have a demo that issues a "KYC Verifiable Credential" and verifies it to grant access to a protected dashboard.

Last updated