# Verifiable Credential Presentation (OpenID4VP)

## **Overview**

Inji Web Wallet supports **Verifiable Credential (VC) Presentation** using the [**OpenID4VP**](https://openid.net/specs/openid-4-verifiable-presentations-1_0-ID3.html) standard.\
This allows users to **securely share their JSON-LD Verifiable Credentials** directly with a verifier through a **live, interactive, verifier-initiated** flow.

Using this feature, Inji Web can receive a presentation request from a verifier, prompt the user for trust and consent, select matching credentials from the wallet, and send a cryptographically signed Verifiable Presentation (VP) back to the verifier.

This enables **real-time, standards-compliant, privacy-respecting** credential sharing without needing to upload PDF files or scan QR codes manually. This feature's page explains the entire capability in a clear, functional, end-to-end way.

### **Why This Feature Matters**

* **Secure by Design:** Uses [**OpenID4VP**](https://openid.net/specs/openid-4-verifiable-presentations-1_0-ID3.html) for end-to-end, signed presentations.
* **User Controlled:** Users explicitly trust the verifier, choose which credentials to share, and consent before sharing.
* **Interoperable:** Works with any [**OpenID4VP**](https://openid.net/specs/openid-4-verifiable-presentations-1_0-ID3.html)-compliant verifier.
* **Paperless & Instant:** No need for scanning, printing, or uploading PDFs.
* **Future Scalable:** Forms the foundation for SD-JWT selective disclosure (coming soon).

### **Supported Credential Types**

**Currently supported**:

* **W3C JSON-LD Verifiable Credentials (VC Data Model 1.1)**\\
  * Supported for full OpenID4VP presentation flow

**Coming Soon**:

* **IETF SD-JWT** (Selective disclosure via OpenID4VP)
* **ISO 18013-5 mDL / mDoc**

### **How does the OpenID4VP Flow Work?**

A functional walkthrough of the complete user journey:

#### **User Flow (Step-by-Step)**

1. **Verifier initiates a presentation request** (via redirect\_uri ).
2. **Inji Web Wallet opens** and shows a trust screen with the verifier identity.
3. **User approves trust** (“Yes, proceed”) or declines (“No, cancel request”).
4. **The web wallet displays requested credentials** and allows the user to select which to share.
5. **User gives consent** (“I Consent & Share”).
6. **Wallet prepares and signs** a Verifiable Presentation.
7. **Presentation is sent to the verifier** via the OpenID4VP protocol.
8. **User sees a success screen** and is automatically redirected back to the verifier.

<figure><img src="/files/0tZZvygcydqy28nSKVN1" alt=""><figcaption><p><strong>User Flow Diagram</strong></p></figcaption></figure>

For a step-by-step walkthrough of how users start the flow from the verifier and complete it in the UI, see the [**End User Guide**.](/inji-wallet/inji-web/functional-overview/end-user-guide.md#openid4vp-presenting-verifiable-credentials)

### **Current Limitations**

* **Inji Verify does not yet support initiating OpenID4VP** (coming in a future release).
* Only **JSON-LD credentials** are supported today.
* SD-JWT selective disclosure is not yet supported(coming in a future release).

### **Test the Feature Today**

To try OpenID4VP with Inji Web, refer [here](/inji-wallet/inji-web/functional-overview/end-user-guide.md#openid4vp-presenting-verifiable-credentials)!

{% hint style="info" %}
**Important:**\
In the current release of Inji Web Wallet 0.15.0 version, only the **mock verifier services** can generate OpenID4VP requests.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inji.io/inji-wallet/inji-web/overview/features/verifiable-credential-presentation-openid4vp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
