Skip to content

Verifier Portal

The BaseID Verifier Portal is a reference web application that demonstrates credential verification using OID4VP.

The verifier portal allows an organization to:

  • Define presentation requests specifying required credentials
  • Verify credentials presented by wallets
  • Display verification results with claim details
  • Support multiple credential formats (JWT-VC, SD-JWT, mDL)
Terminal window
# Start the verifier
baseid demo verifier --port 3001

Open http://localhost:3001 in your browser.

  1. The verifier displays a QR code containing an OID4VP authorization request
  2. The wallet scans the QR code and parses the request
  3. The wallet selects matching credentials and creates a Verifiable Presentation
  4. The wallet submits the presentation to the verifier’s response endpoint
  5. The verifier validates signatures, checks expiration, and extracts claims

Define what credentials and claims the verifier requires:

{
"presentation_definition": {
"id": "age-verification",
"input_descriptors": [
{
"id": "age_over_18",
"format": { "jwt_vc_json": {} },
"constraints": {
"fields": [
{
"path": ["$.credentialSubject.birth_date"],
"filter": { "type": "string" }
}
]
}
}
]
}
}

The verifier can be configured to trust only specific issuers:

[verifier]
name = "Age Verification Service"
[[trusted_issuers]]
did = "did:web:university.example.com"
credential_types = ["UniversityDegree"]
[[trusted_issuers]]
did = "did:web:gov.example.com"
credential_types = ["DriverLicence", "NationalID"]