Configure your verifier to support the OpenID for Verifiable Presentations protocol and define the presentation definition specifying which mDL claims are required
Generate an authorization request with your verifier's client ID and the presentation definition, and present it to the holder's wallet via QR code or deep link
The holder's mDL wallet responds with a VP token containing a signed mDL presentation over the requested claims using device-bound keys
Validate the VP token signature against the issuer's public key, verify the device engagement and session transcript binding to prevent replay attacks
Extract the disclosed claims from the presentation and verify that the issuer certificate chains to a trusted root in your mDL trust store
Apply your business logic on the verified claims (for example, using only the age over 21 boolean claim without receiving the full date of birth) to minimize data collection
Known gotchas
mDL trust stores are jurisdiction-specific and must be actively maintained; accepting an mDL from an issuer not in your trust store creates a verification gap
The OpenID4VP spec is still evolving; wallet and verifier implementations may differ in profile or version support — negotiate protocol version compatibility explicitly
Selective disclosure is a key privacy feature of mDL; request only the specific claims your use case requires rather than requesting the full credential
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp