Skip to main content

OpenID4VP

OpenID4VP, OpenID for Verifiable Presentations, is the protocol a wallet uses to present one or more credentials to a verifier in response to a request, so the verifier can check them without a separate integration per issuer.

A relying party sends a presentation request describing what it needs to see, either as a redirect in a same-device flow or as a QR code the holder scans with their wallet in a cross-device flow, and the request can ask for a single claim or a full credential. The wallet parses the request, works out which stored credentials satisfy it using a query language such as DCQL, and asks the holder to approve which credentials and claims to share before anything leaves the device. The verifier then checks the response against the original issuer signatures and, where selective disclosure is used, confirms that only the disclosed claims were revealed while the rest stayed hidden without breaking the proof. OpenID4VP supports both online presentation, where the wallet talks directly to the relying party's backend, and proximity presentation over Bluetooth or NFC for in-person checks such as an age gate at a shop counter or a border crossing. OpenID4VP is the presentation protocol the EUDI Wallet uses under eIDAS 2.0, so any relying party that supports it can accept credentials from wallets issued anywhere in the EU without negotiating a bespoke integration with each national wallet provider. Because the holder approves every disclosure explicitly, a relying party never receives more data than it asked for, and the wallet keeps a record of what was shared and with whom.

What stops a relying party from asking for more data than it needs through OpenID4VP?

The wallet, not the relying party, decides what actually leaves the device. It shows the holder exactly which credentials and claims the request is asking for, and the holder approves or rejects that specific disclosure. A relying party can ask for anything, but nothing is shared unless the wallet holder consents to that request in the moment.

Back to the glossary