OID4VP

Also called OpenID4VP, OpenID for Verifiable Presentations, presentation protocol

ComposedShipped

OID4VP is the protocol by which a verifier asks for a credential and a wallet answers. It is the other half of OID4VCI: one moves a credential to a holder, this one moves a proof from the holder to whoever is asking.

The part that matters commercially

The verifier does not call the issuer. It receives a presentation, checks the signature against the issuer's published key, and decides. That is what makes a credential portable: the issuer is not a runtime dependency, is not paid per check, and does not learn where its credential is being used.

What the protocol asks and what it leaves open

OID4VP carries a query, usually written in Presentation Exchange, describing what the verifier will accept. It does not decide what the verifier should require, nor what to do about a credential that was valid at issuance and is not valid now. That second question is a status mechanism, and it is a separate choice.

Where Solidus uses it

Sign-in and credential-gated access on the auth surface: the relying party states what it needs, the wallet presents a credential that satisfies it, and the session proceeds on the strength of that presentation rather than on a password.

Where it comes from

Someone else specified this. Solidus assembles it.

Specified by the OpenID Foundation, as the presentation counterpart to OID4VCI. It defines how a verifier asks for a credential and how a wallet answers, layered on OAuth 2.0 request/response plumbing. Solidus implements it; the protocol and the Presentation Exchange query language it carries are both other people's work.

How to check this

Running in production today.

The implementation is auth/apps/backend/src/modules/oid4vp/ (routes, service, types) with its request table in migration 002_oid4vp_requests.sql, and a test file alongside it. The request objects it builds carry a presentation_definition with input_descriptors, which is the Presentation Exchange shape, readable in the source rather than asserted here.

Related

OID4VP · Solidus Lexicon