## Credentials

### Verifiable Credential

The following represents the "intermediate" did-jwt-vc decoded form of a JWT-encoded verifiable credential, i.e., the form with mandatory JWT payload properties duplicated and translated into their VC data model equivalents for interoperability with non-JWT VCs:



With JWT Header:



### Verifiable Credential with status

This extends the above to add credential status. Note that the credential status has not been dereferenced (i.e., "fetched" as a bitstring and validated), which some systems might want to do before processing and/or storing the credential.



With JWT Header:



### Encoded JWT

The JWT encoded version of the previous example is below:



## Issuance

### Credential Offer

Verite's Credential Offer structure is a simple JWM wrapper around a DIF Credential Manifest.



Details:

  • `from`: who the message is from; in this case, the issuer

  • `reply_url`: the URL the wallet should send the credential application to

  • `body.challenge`: a challenge the wallet should sign when proving control, to prevent replays

  • `body.manifest`: this follows the DIF Credential Manifest spec

### Credential Manifest

Example DIF Credential Manifest for a KYCAMLAttestation issued by a fictional issuer, Example Inc. Notice the descriptive text found in the output descriptors, which can be used by wallets to render details about the credential being issued. The presentation definition describes the inputs necessary to receive a credential. In this case, it is a Verifiable Presentation with no credentials, which is sufficient to prove control over the presentation holder's did.



### Credential Application

What follows is a JSON object containing the same contents as a Verifiable Presentation in JWT form; there is no proof object, because it would be signed and transmitted as a JWT.



### Credential Fulfillment

What follows is a JSON object containing the same contents as a Verifiable Presentation in JWT form; there is no proof object, because it would be signed and transmitted as a JWT.



## Presentation Exchange

### Presentation Request



Details:

  • `from`: who the message is from; in this case, the issuer

  • `reply_url`: the URL the wallet should send the credential submission to

  • `body.challenge`: a challenge the wallet should sign when proving control, to prevent replays

  • `body.presentation_definition`: this follows the DIF Presentation Definition spec

  • `body.status_url`: url returning verification results when complete

### Presentation Definition



### Presentation Submission



Response