# @openid4vc/openid4vci

> OpenID for Verifiable Credential Issuance (OpenID4VCI) implementation

Latest version **0.5.6** (published 2026-09-16) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @openid4vc/openid4vci
pnpm add @openid4vc/openid4vci
yarn add @openid4vc/openid4vci
bun add @openid4vc/openid4vci
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.5.6 |
| Published | 2026-09-16 |
| First published | 2025-02-24 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 645.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 29 |
| Author | Animo Solutions |
| Maintainers | timoglastra, openwalletfoundation |
| Keywords | openid4vc, openid4vci, oid4vci, verifiable credentials, credential issuance |

## Links

- npm: https://www.npmjs.com/package/@openid4vc/openid4vci
- Repository: https://github.com/openwallet-foundation-labs/identity-common-ts
- Homepage: https://github.com/openwallet-foundation-labs/identity-common-ts/tree/main/packages/openid4vci
- Issues: https://github.com/openwallet-foundation-labs/identity-common-ts/issues
- npm.io page: https://npm.io/package/@openid4vc/openid4vci

## Dependencies (3)

- [zod](https://npm.io/package/zod.md) ^4.6.5
- [@openid4vc/utils](https://npm.io/package/@openid4vc/utils.md) ^0.5.6
- [@openid4vc/oauth2](https://npm.io/package/@openid4vc/oauth2.md) ^0.5.6

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 0.5.6 (latest) — 2026-09-16
- 0.5.6-alpha-20260922123038 (alpha) — 2026-09-22
- 0.5.7-alpha-20260922110620 — 2026-09-22
- 0.5.7-alpha-20260921121727 — 2026-09-21
- 0.5.7-alpha-20260920163617 — 2026-09-20
- 0.5.7-alpha-20260920143658 — 2026-09-20
- 0.5.7-alpha-20260920133054 — 2026-09-20
- 0.5.7-alpha-20260919211014 — 2026-09-19
- 0.5.7-alpha-20260919112629 — 2026-09-19
- 0.5.7-alpha-20260919100859 — 2026-09-19
- 0.5.7-alpha-20260919094428 — 2026-09-19
- 0.5.7-alpha-20260918081040 — 2026-09-18
- 0.5.7-alpha-20260918080827 — 2026-09-18
- 0.5.7-alpha-20260917172451 — 2026-09-17
- 0.5.7-alpha-20260917125442 — 2026-09-17
- … 242 more at https://npm.io/package/@openid4vc/openid4vci/versions

## README

# @openid4vc/openid4vci

[![npm version](https://img.shields.io/npm/v/@openid4vc/openid4vci)](https://npmjs.com/package/@openid4vc/openid4vci)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/openwallet-foundation-labs/identity-common-ts/blob/main/LICENSE)

An implementation of the [OpenID for Verifiable Credential Issuance](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html) specification:

- Authorization Code Flow and Pre-Authorized Code Flow
- Credential format profiles `vc+sd-jwt`, `dc+sd-jwt`, `mso_mdoc`, `jwt_vc_json`, `jwt_vc_json-ld`, and `ldp_vc` (only object validation, no credential implementation)
- Proof type `jwt` and `attestation`
- V1.0 with backwards compatibility for draft 15, draft 14, draft 13 (ID1), and draft 11
- Support presentation during issuance using Authorization Challenge and OpenID4VP
- Create and verify wallet attestations based on attestation-based client authentication
- Resolve and create signed credential issuer metadata

This package was previously developed in the [oid4vc-ts](https://github.com/openwallet-foundation-labs/oid4vc-ts) repository. The `@openid4vc/*` packages are versioned together, separately from the other packages in this repository.

## Installation

```bash
# Using npm
npm install @openid4vc/openid4vci

# Using pnpm
pnpm add @openid4vc/openid4vci

# Using yarn
yarn add @openid4vc/openid4vci
```

## Usage

```ts
import { Openid4vciClient, Openid4vciIssuer } from '@openid4vc/openid4vci'
```

## Dependencies

- [@openid4vc/oauth2](https://www.npmjs.com/package/@openid4vc/oauth2)
- [@openid4vc/utils](https://www.npmjs.com/package/@openid4vc/utils)
- [zod](https://www.npmjs.com/package/zod)

## Platform Support

This library is **platform agnostic** and works in:

- ✅ Node.js (>=22)
- ✅ Browsers (modern browsers with ES2020 support)
- ✅ React Native

The environment must provide an implementation of `URL` and `URLSearchParams`. Platform-specific functionality such as hashing, generating random bytes and signing is provided through callbacks. If no global `fetch` is available in your environment, it also needs to be provided through the callbacks.

## Contributing

See the [Contributing Guide](https://github.com/openwallet-foundation-labs/identity-common-ts/blob/main/CONTRIBUTING.md) for details on how to contribute to this project.

## License

This project is licensed under the [Apache License Version 2.0](https://github.com/openwallet-foundation-labs/identity-common-ts/blob/main/LICENSE) (Apache-2.0).

## Credits

This library was initially created by [Animo](https://animo.id) as part of the [SPRIN-D EUDI Wallet Prototypes Funke](https://www.sprind.org/en/impulses/challenges/eudi-wallet-prototypes).

---
_Source: https://npm.io/package/@openid4vc/openid4vci · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
