Protocols

What is OpenID for Verifiable Presentations (OpenID4VP)?

OpenID4VP is the protocol a relying party uses to ask a wallet for credentials and get a signed presentation back. The ARF requires it for remote presentation, profiled by HAIP. It runs over two transmission mechanisms, a custom URI scheme or the W3C Digital Credentials API. Proximity flows, where both devices are physically present, use ISO/IEC 18013-5 instead.

Technical standardReviewed 7 October 2026

Where it fits

Its place in the EUDI flow

Between the wallet and the relying party, when the user shares data.

Issuer

Signs credentials: a member state, university, bank or employer

Issuance

EUDI Wallet

Belongs to the user, who decides what to share

Presentation

Relying party

The service that requests and checks the data

Trust layer: who is allowed to sign, and is it still valid?

Rules: the law and technical framework behind it all

See every term on the map

In detail

How it actually works

The verifier builds a request saying which credentials and which claims it needs, then delivers it as a QR code for cross-device or a deep link for same-device. The wallet shows the holder exactly what is being asked, and on approval returns a presentation signed with a key tied to their device.

The request uses DCQL, the query language defined in OpenID4VP 1.0. The ARF does not specify a query language of its own, it points at OpenID4VP and HAIP and DCQL arrives with them. The response includes the disclosed claims and the issuer signature over them, so you validate the issuer rather than trusting the wallet.

The protocol carries a nonce tying the presentation to this specific request, which is what stops a captured presentation being replayed somewhere else.

It is not the only protocol here. In-person flows run over ISO/IEC 18013-5, and there is a second remote protocol, ISO/IEC 18013-7, which carries mdoc requests and responses over the internet. Wallets support all of them, so what you implement is a scoping decision rather than a compatibility one.

Defined in

OpenID4VP 1.0 (Final, 9 July 2025); OpenID4VC High Assurance Interoperability Profile; ARF v3.0.0 section 5.7.4