All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Wallet Kit | Basics

The Wallet enables you to launch an identity wallet or extend an existing app with identity capabilities:

Note: The easiest and fastest way to launch a wallet is to take our web-app and rebrand it. Also, this web-based approach has a number of advantages. For example, it works on every platform/device, users do not require multiple devices and must not scan QR Codes. More importantly a web-based flow is very user friendly and leverages learned behaviour from federated identity providers (“login with Google”).

Overview

Here are the most important things to know about the Wallet Kit:

  • It is open source (Apache 2). You can use the code for free and without limitations.

  • It is an out-of-the-box solution that you can simply re-use or even white-label such as for building pilot projects quickly.

  • It is customisable in a sense that you can individualise the app based on your requirements: You can rebrand the app, build your own UI and add new features. ****

  • It is composable in a sense that you can plug your existing (d)apps into the wallet backend in order to supercharge your (d)apps with SSI capabilities.

  • It abstracts complexity such as low-level functionality related to key handling, data storage, signing and interactions with third party systems.

  • It is built on open standards to ensure interoperability and prevent lock-in effects.

  • It is flexible in a sense that you can deploy and run wallets on-premise, in your (multi) cloud environment or directly integrate our libraries.

  • It enables you to use different identity ecosystems like Europe’s emerging identity ecosystem (EBSI, ESSIF) in anticipation of a multi-ecosystem future. (Consult the SSI Kit documentation to find out which ecosystems the Wallet Kit supports.)

Functionality

The Wallet Kit makes it easy for you to build and launch your own wallet. Now, you can think of wallets as secure data hub for organizations and individuals which allows them to act as "Holders", i.e. they can store, manage and share keys, identity data (e.g. Verifiable Credentials) and other secrets.

Practically speaking, a wallet is a tool that allows anyone to collect and present identity data in order to access services (e.g. sign up, login, check-out) or procure products in a seamless and privacy preserving fashion.

Since there are different types of wallets, it is important to mention that our Wallet Kit enables so-called custodial wallets, which means that keys and data are ultimately stored by the wallet provider (e.g. by you). While this means less control for end-users, it also means a better user experience (e.g. no need to handle private keys or seed phrases) and less risk (e.g. loss of data). Also, end-users enjoy full data portability, which means that they can switch wallets (and take their keys and data with them) at any time without having to fear lock-in effects.

The Wallet Kit provides various high-level functionalities. For example:

  • Web app

    • Web-based user interface (UI) for managing credentials and DIDs.

  • User context separation

    • Separation of user contexts in the data stores (key store, credential store, DID store).

  • User data management

    • DIDs

    • Credentials

  • Ecosystems integrations

    • did:ebsi

      • DID creation

      • DID registration

    • did:web

      • DID creation

      • DID web registry

    • did:key

      • DID creation

  • Verifiable Credential and Presentation exchange

    • Support for credential and presentation exchange based on the OIDC and SIOP specs

      • OIDC4CI - OIDC for credential issuance

      • OIDC4VP - OIDC for verifiable presentations (SIOP)

      • Credential issuance via SIOP protocol (custom protocol)