Skip to content
impiercePublic

About

Rust implementation of the OpenID4VC standards. The library offers implementations for SIOPv2, OpenID4VP and OpenID4VCI.

Topics

Resources

Contributing

Security policy

Stars

42 stars

Watchers

1 watching

Forks

Repository files navigation

Rust library for OpenID for Verifiable Credentials

codecov QA Audit Rust: 100%

This is a library for the OpenID for Verifiable Credentials (OpenID4VC) specifications family developed by the OpenID Digital Credentials Protocols Working Group.

The Digital Credentials Protocols (DCP) Working Group focuses on creating OpenID specifications for a model where issuers provide digital credentials to holders, allowing holders to present them to verifiers. These digital credentials contain cryptographically signed statements about the holder, and verifiers can check their authenticity. The primary goals include enhancing user control and privacy over identity information, making identity verification more efficient and secure, and establishing a universal approach for identification, authentication, and authorization in both digital and physical spaces.

An overview of all the specifications developed by the OpenID Digital Credentials Protocols Working Group can be found here.

This workspace includes Rust implementations for the following DCP specifications:

Specification Description Version
OID4VCI OpenID for Verifiable Credential Issuance 1.0 OID4VCI 1.0 published: 16 September 2025
OID4VP OpenID for Verifiable Presentations OID4VP 1.0 published 9 July 2025
SIOPv2 Self-Issued OpenID Provider v2 Working Group Draft 13 published: 28 November 2023

OID4VC Manager

For an easy-to-use library that combines all the above specifications, please check out:

Development

See CONTRIBUTING.md for how to set up, test and submit changes. The architecture is described in docs/DESIGN.md, the feature checklist per specification is docs/FEATURES.md, and design decisions are recorded in docs/adr/. Coding agents start from AGENTS.md. To report a vulnerability, see SECURITY.md.

Release

Releases are automated with release-plz: on every push to main it checks which crates changed since their last release and, if any did, opens or updates a release pull request with their next versions and changelogs, derived from the Conventional Commits since that release; merging it publishes those crates to crates.io with a tag and GitHub release each. docs/RELEASE.md describes the process and the credential setup.

About

Rust implementation of the OpenID4VC standards. The library offers implementations for SIOPv2, OpenID4VP and OpenID4VCI.

Topics

Resources

Contributing

Security policy

Stars

42 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages