light-mode-image
Learn

Frequently asked questions

Answers to common questions about credential issuance with MATTR VII. For the concepts behind these answers, see the issuance overview.

Frequently asked questions

What credential formats does MATTR VII support for issuance?

MATTR VII supports mDocs (aligned with ISO/IEC 18013-5) and CWT/Semantic CWT credential formats through OID4VCI. Direct issuance (API-based, no wallet interaction) is available for CWT credentials.

Which wallets can receive credentials issued by MATTR VII?

Any wallet that implements the OID4VCI specification can receive credentials. You can target specific wallets using custom URI schemes or claimed HTTPS links, or allow any compatible wallet using the standard scheme.

MATTR also provides its own holding solutions that are fully compatible with MATTR VII issuance:

  • MATTR Holder SDKs: embed credential holding capabilities directly into your own mobile application (iOS, Android, React Native).
  • MATTR GO: a ready-to-use wallet application for end users.

Do I need my own identity provider?

For the Authorization Code flow, yes, you need an OIDC-compliant identity provider. For the Pre-authorized Code flow, no. You authenticate users through your own means before creating the credential offer.

Can I issue credentials without user interaction?

Yes. The Pre-authorized Code flow supports silent issuance within existing app sessions. Your application creates the credential offer programmatically and the wallet claims it without requiring the user to authenticate again.

How do I populate credential data from my existing systems?

Use a claims source, an HTTPS endpoint that MATTR VII calls to fetch data from your backend systems. Claims are mapped into the credential via your credential configuration's claim mappings.

What happens if my claims source is unavailable?

If the claims source times out (>3 seconds) or returns a non-2xx response, issuance fails. Design your claims source for high availability and consider which claims are marked as required vs optional with defaultValue fallbacks.

Can I add custom verification steps before issuing?

Yes. Use an interaction hook in the Authorization Code flow to add biometric checks, consent flows, or other custom logic between authentication and issuance.

How do I revoke a credential after issuance?

Use the MATTR VII revocation API to update the credential's status. The updated status is reflected in the published status list that verifiers check. See credential revocation for details.

Can I issue multiple credentials in one flow?

Yes. A credential offer can reference multiple credential configurations, allowing the holder to claim several credentials in a single interaction.

What is the maximum validity period for an mDL?

mDL credentials have a maximum validity constraint of 427 days, enforced by the credential configuration. Plan your refresh or re-issuance strategy accordingly.

How would you rate this page?

Last updated on

On this page