Getting Started

The Decentralized Identity Playbook developed by walt.id, a must-read for anyone interested in the subject of decentralized and self-sovereign identities, brings a sample use case of Lea, who receives in her wallet digital credentials issued by a government authority to be later verifier by the bank where she wants to open an account.

In this guide, we are going to lead you through all the technical steps to reproduce such credential issuing and verification flow.

First, let's take a look at how the use case is detailed.

The use case

  1. Imagine a scenario where a person - Lea - visits her government's website.
  2. She logs into her account and is offered an ID wallet as well as digital versions of her passport, driver’s license, proof of residence and social security card.
  3. She opens (or downloads) an ID wallet and requests the credentials.
  4. The government issues the credentials to Lea.
  5. Lea visits a bank to open an account.
  6. Lea is asked for her information, so shares her government-issued credentials.
  7. The bank verifies the credentials and opens an account for Lea.

Components

The first thing to note is that this use case presupposes the existence of 3 different software systems:

  • The government's website, where the credentials will be offered. We call it the "Issuer".
  • The ID wallet, which is usually a mobile app responsible for storing all the credentials received by the user. This is just the "Wallet".
  • The bank's website, where the credentials will be requested for verification. Let's call it "Verifier".

Since this set of 3 actors is commonly seen in most use cases related to decentralized identities, the Walt.id Community Stack provides everything you need to issue, store and verify such digital credentials.

Tooling

The user journey in the Walt.id Community Stack can take place at different layers of abstraction.

┌----------------------+
| White Label Web Apps |
+----------------------+
|         APIs         |
+----------------------+
|         Libs         |
+----------------------+

For those who just want to try out the technology to better understand how it works or needs to launch a product in the shortest possible time to market, we provide an Issuer, Verifier and custodied Walletwhite label web applications which can be quickly customized according to your needs.

However, if you want to create your own (web) app from scratch but with no much worries about technical details, we offer a set of extremely powerful APIs that can be used out of the box for issuing, storing and verifying credentials in different identity ecosystems. This is goint to be our choice to demonstrate Lea's use case.

Finally, for developers who want to build their solutions with maximum autonomy and control, we provide a set of cross-platform libraries that can be incorporated and used in your project to create your own custom API or any other kind of product you wish.

Step by step

The very first step is setting everything up. After that, we'll start with issuing the credential, storing it in the Lea's wallet and finally sending it to the bank for verification.

For the sake of simplicity, we're going to use instances of the APIs that are already available in Walt.id's environment precisely for the purposes of testing and quickly validating ideas. Easy breezy ;-)

Are you ready? Let's make it happen.

  1. Setting up (not required)
  2. Issuing credentials to Lea
  3. Sending the issued credentials to be verified by the Bank