demo · v143 · origin trial

Protocol explorer

The Digital Credentials API isn't tied to a single credential format. Each request.protocol string switches the wallet into a different mode — OpenID4VP, OpenID4VCI, ISO mDoc, or the deprecated "preview". This page lays them out: when to use each, what the request body looks like, and which version Chrome 143 actually understands.

Origin trial / behind a flag: Digital Credentials API ships in origin trial through Chrome 143. The protocol strings below are what current Chrome accepts in the requests[i].protocol field.

How to pick

  1. OpenID4VP (presentation) — the broadly-agreed standard. Use this for new RP code asking for any credential.
  2. OpenID4VCI (issuance) — the issuance counterpart, new in v143. Use this when you're the issuer (DMV, school, employer) handing a credential to a user.
  3. org.iso.mdoc — the lower-level ISO mdoc transport. Required for legacy mDL deployments not yet on OpenID4VP. Most callers should use OpenID4VP with the mDoc format inside the DCQL instead.
  4. preview — Chrome's pre-spec protocol. Deprecated. Don't ship new code against it.
navigator.credentials.get({
  digital: {
    requests: [
      { protocol: "openid4vp",   data: dcqlQuery },
      { protocol: "org.iso.mdoc", data: mdocReq },
      // Chrome picks the first whose protocol the user's wallet supports.
    ],
  },
});

see also