0. Choose a flow How the verifier asks 1. The request Who is asking, and for what 2. Choose & present Select disclosures, sign the KB-JWT 3. The verdict What the verifier saw and decided ← Back to step 2 (choose what to disclose)
VC Presentation — Step 3 of 3: The Verdict Two accounts of the same event: what the wallet sent — with the presentation checked here, over the bytes themselves — and what the verifier did , check by check. “Accepted” is the least interesting part: a wallet that disclosed more than was asked for gets an accepted too, and this page says so.
Collapse all panes Tip: click a pane's title to collapse/expand it.
What The Wallet Sent
Presented to The verifier's Client Identifier, and the Response URI the presentation was POSTed to.
—When A Key Binding JWT is signed for one moment and one request; a verifier may refuse a stale one.
—KB-JWT payload iat, aud, nonce, sd_hash — the four claims RFC 9901 section 4.3 requires, as signed.
KB-JWT The holder's signature over this presentation.
What they can read The claim set that follows from the bytes sent — computed here from the presentation itself.
Answered the request? What the verifier's DCQL query asked for, against what was actually disclosed. A verifier need not check this — walt.id's does not — so the wallet is often the only party that can tell you.
The presentation, with its parts called out: issuer-signed JWT · Disclosure · KB-JWT .
The Wallet's Own Checks Run here, over the bytes that were sent, doing what the verifier does: recompute sd_hash, look up every Disclosure's digest in _sd, and compare the Key Binding JWT's nonce and aud with the request. If the wallet cannot verify its own presentation, no verifier will.
What The Verifier Answered The Verifier’s answer to the presentation, which is all OID4VP gives a wallet: 200 and, optionally, a redirect_uri to send the browser to (section 8.2). Which of its checks passed is the Verifier’s own record; the wallet’s re-check above is the half a wallet can see.
Its answer The body the Response Endpoint answered the wallet's direct_post with.