Skip to main content

Overview

Once you have the authorizationRequestQrUri from Step 2, you need to display it to the user so they can respond using their mobile wallet. You can present it as a QR code or a link.

Generating a QR Code

Use any QR code generation service to turn the authorizationRequestQrUri into a scannable QR code. Here’s an example using the free qrserver API:
const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(
  response.authorizationRequestQrUri
)}`;
Display the resulting image in your application’s UI for the user to scan with their wallet. If the user is on mobile, you can display the authorizationRequestUri as a tappable link instead. Users can copy and paste this link directly into their wallet app.

User Experience Flow

When the user scans the QR code or opens the link, their mobile wallet:
  1. Launches automatically and displays the presentation request
  2. Shows all available credentials that match your template criteria
  3. Allows the user to select a specific credential (if they have multiple matches)
  4. Enables selective field disclosure — users can share some attributes while withholding others
  5. Returns the verification response to your system upon confirmation
Users maintain complete control over what personal information they share and with which organizations. They can decline the request at any time.

Next Step

After displaying the request, poll the API to check whether the user has responded — Step 4: Verify Presentation.