Verifiable Credentials

Requesting and Presenting

VCs, reguardless of their source and context, must be presented in a useful format. The Wallet currently supports a presentation of VCs in the form of JSON-JWT key-values. It is on our roadmap to support other formats, such as JSON-LD, as well as to support the presentation based on overlay templates.

The VC presentation request and response protocol are supported. This is based on the W3C Verifiable Credentials Presentation Exchange specification. As a prerequisite, a connection (contact) must be established between a Verifier (requester) and Holder of the VC.

Let's look at the wallet interactions for this protocol, with you first in the role of a Verifier, and then in the role of a Holder.

As a Verifier, you can request a VC Presentation from a Holder.
1) From the Outgoing Requests page, you can select a Contact, then hit Send. The wallet will display the status of "Waiting ...".
2) The Holder can then choose to present a VC to you, or not.
3) If the Holder chooses to present a VC to you, the wallet will indicate that "You received a response to the presentation-request" in the Chat view, and you can navigate to the Outgoing Requests page to view the received VC presentation.

As a Holder, you may receive a presentation request from a Verifier.
1) A presentation request will appear in the Chat view as a message from the Verifier, and you can navigate to the Incoming Requests page to view the request.
2) You can then choose to present a VC to the Verifier, or not.
3) If you choose to present a VC to the Verifier, select the Credential from the Incoming Presentations Request page, and press Send.