Skip to content

LutraID Playground

Welcome to the LutraID playground.

LutraID is a credential issuance and verification platform from Lutra Labs. This playground deployment is intended for developers, wallet teams, and interoperability event participants who want to test OpenID4VC issuance and presentation flows with a small set of public profiles before integrating the production version.

Overview

The playground offers two main capabilities:

  1. Issuer playground - create test credential offers and receive credentials in an EUDI-compatible wallet.
  2. Verifier playground - generate OpenID4VP presentation requests, scan a QR code or open a same-device link, and inspect the verification result.
Resource URL
Playground https://api.playground.france-identite.gouv.fr/lutralabs/lutraid
Backend URL https://api.playground.france-identite.gouv.fr/lutralabs/lutraid-api
Product website https://id.lutralabs.io
Email info@lutralabs.io

Supported Standards

Category Supported items
Issuance protocol OpenID for Verifiable Credential Issuance (OpenID4VCI) 1.0
Verification protocol OpenID for Verifiable Presentations (OpenID4VP) 1.0
High-assurance profile HAIP 1.0-oriented technical profiles for selected issuance and verification flows
Credential formats SD-JWT VC (dc+sd-jwt), ISO mdoc (mso_mdoc)
Query language DCQL generation for verifier presentation requests
Remote presentation modes Cross-device QR code, same-device link
Response modes direct_post, direct_post.jwt
Issuance grants Pre-authorized code, authorization code with PKCE and PAR
Request signing and trust material X.509-backed issuer and verifier signing certificates, signed request objects, platform-managed root CA
Encryption Credential response encryption and encrypted verifier responses where supported by profile

Playground Flows

Issuance

The issuer provides predefined test profiles for wallet issuance:

Credential Format Identifier Notes
PID SD-JWT VC urn:eudi:pid:1 Compact test PID with sample identity attributes.
PID mdoc eu.europa.ec.eudi.pid.1 EUDI PID test credential using an ISO mdoc representation.
Mobile Driving Licence mdoc org.iso.18013.5.1.mDL ISO/IEC 18013-5 mDL test credential using the org.iso.18013.5.1 namespace.

Available issuance cases:

Issuance case Credential offer contents
PID (SD-JWT) PID as SD-JWT VC
PID (mDoc) PID as ISO mdoc
mDL (mDoc) Mobile Driving Licence as ISO mdoc
PID (SD-JWT + mDoc) PID in both SD-JWT VC and mdoc formats
PID (SD-JWT) + mDL (mDoc) PID as SD-JWT VC plus mDL as ISO mdoc

How to test:

  1. Open playground.
  2. Choose an issuance case.
  3. Review or edit the sample credential subject JSON.
  4. Create a credential offer.
  5. Scan the QR code, or open the same-device link, with an OpenID4VCI-capable wallet.
  6. Accept the offer in the wallet.

The broader LutraID document registry also includes configurable templates for PID, mDL, Age Verification, PhotoID, EHIC, PDA1, Learning Credential, and organization-specific employee credentials. Availability in the public playground may be narrower than the full runtime catalog.

Verification

The verifier provides predefined OpenID4VP requests:

Verification case Accepted format Requested data
PID SD-JWT VC given_name, family_name, birth_date
PID mdoc given_name, family_name, birth_date
Mobile Driving Licence mdoc given_name, family_name, birth_date
PID + Mobile Driving Licence PID as SD-JWT VC or mdoc; mDL as mdoc PID: given_name, family_name, birth_date; mDL: given_name, family_name, birth_date

How to test:

  1. Open playground.
  2. Choose a verification case.
  3. Initiate verification.
  4. Scan the QR code, or open the same-device link, with an OpenID4VP-capable wallet.
  5. Approve the presentation in the wallet.
  6. Return to the browser and review the verification status and received presentation data.

In the full LutraID runtime, verification profiles are generated from structured document requirements and can accept SD-JWT VC and mdoc variants for the same logical document type. For example, a PID profile can request the same canonical attributes from either dc+sd-jwt or mso_mdoc credentials.

HAIP-Oriented Capabilities

LutraID includes a HAIP-oriented technical profile for selected high-assurance OpenID4VC flows, covering wallet attestation, x5c credential proofs, CA-signed signing posture, direct_post.jwt response handling, and x509_hash client identifiers for verifier scenarios.

Trust Material and Metadata

The playground publishes wallet-facing metadata through the standard OpenID discovery endpoints:

Metadata URL
Credential issuer metadata https://api.playground.france-identite.gouv.fr/lutralabs/lutraid-api/.well-known/openid-credential-issuer/v1/organizations/91111111-1111-4111-8111-111111111111/issuers/92222222-2222-4222-8222-222222222222
Authorization server metadata https://api.playground.france-identite.gouv.fr/lutralabs/lutraid-api/.well-known/oauth-authorization-server/v1/organizations/91111111-1111-4111-8111-111111111111/issuers/92222222-2222-4222-8222-222222222222
JWKS https://api.playground.france-identite.gouv.fr/lutralabs/lutraid-api/v1/organizations/91111111-1111-4111-8111-111111111111/issuers/92222222-2222-4222-8222-222222222222/.well-known/jwks.json
Platform root CA https://api.playground.france-identite.gouv.fr/lutralabs/lutraid-api/v1/trust/platform-root-ca

Wallets that require verifier or issuer trust anchors should import the playground certificate or root CA published above before testing signed requests, encrypted responses, or mdoc-related trust paths.

Contact

For testing help, wallet interoperability feedback, or access questions, contact info@lutralabs.io.

When reporting an issue, please include:

  • the flow you tested, issuance or verification
  • credential format, dc+sd-jwt or mso_mdoc
  • wallet name and version
  • device, browser, and other environment details
  • screenshots or logs if possible