George Padayatti

OpenID4VCI: in-time vs deferred vs dynamic — when do you use which?

by

OpenID4VCI gives you three issuance flow shapes and they're not interchangeable:

• In-time → https://docs.igrant.io/docs/openID4vci-issue-credential-intime/

Issuer has the data ready; wallet asks, gets it immediately.

• Deferred → https://docs.igrant.io/docs/openID4vci-issue-credential-deferred/

Issuer needs time (KYC review, manual approval); wallet polls back.

• Dynamic → https://docs.igrant.io/docs/openID4vci-issue-dynamic-credential-request/

Wallet drives shape — claim selection at request time.

We default to in-time wherever possible (best UX), drop to deferred when there's a human in the loop, and use dynamic for anything where the wallet picks claims contextually.

What's your default? And has anyone done deferred well — the polling story still feels rough.

1 view

Add a comment

Replies

Be the first to comment