Credatcredat
Open Source SDK

The Developer SDK for EU Digital Identity

Issue and verify eIDAS 2.0 verifiable credentials in 10 lines of TypeScript. SD-JWT VC & mDoc formats, OpenID4VC protocols, zero vendor lock-in.

VCIssuerIssues credentialsHolderStores in walletVerifierChecks validityPresentationTrust Chain
Product Demo Coming Soon

eIDAS 2.0 Ready

Full compliance with the EU Digital Identity framework

TypeScript SDK

Type-safe APIs with complete IntelliSense support

SD-JWT VC

Selective disclosure for privacy-preserving credentials

OpenID4VC

Standard-compliant credential issuance and verification

Developer Experience

Your Credential Powerhouse

From credential schema design to issuance, verification, and selective disclosure — everything you need in a single, composable SDK.

Get StartedGet Started
credential.ts
import { Credat } from "credat"

const client = Credat.create({
  format: "sd-jwt-vc",
  issuer: "did:web:issuer.example.com"
})

const credential = await client.issue({
  type: "VerifiableId",
  claims: {
    given_name: "Marie",
    family_name: "Dupont",
    birth_date: "1990-01-15"
  }
})
Use Cases

What You Can Build

National ID Wallet

Issue government-backed digital identity credentials compliant with the EU Digital Identity Wallet architecture. Support selective disclosure so citizens share only what's needed.

Digital Diploma

Universities and training providers can issue tamper-proof educational credentials. Employers verify qualifications instantly without contacting the institution.

Banking KYC

Streamline customer onboarding with reusable identity credentials. Reduce KYC costs while maintaining regulatory compliance across jurisdictions.

Healthcare Credentials

Issue and verify professional medical licenses, vaccination records, and patient consent credentials with privacy-preserving selective disclosure.

Travel Documents

Enable seamless border crossing with mobile driving licenses and travel credentials based on ISO 18013-5 and mDoc formats.

Standards

Built On Open Standards

Credential Formats

First-class support for both EU-mandated credential formats, ready for the EUDIW ecosystem.

SD-JWT VC
Selective Disclosure
mDoc
ISO 18013-5

Protocols

OpenID4VCI

Issue credentials using the OpenID for Verifiable Credential Issuance protocol.

OpenID4VP

Request and verify credential presentations with OpenID for Verifiable Presentations.

DIDComm v2

Secure, peer-to-peer messaging for credential exchange between agents.

Developer Tools

npm install credat
Zero-config setup
100% TypeScript
Full type safety
< 50kb gzipped
Tree-shakeable
Testimonials

Trusted by Developers

Credat made our eIDAS 2.0 integration effortless. We went from zero to issuing credentials in a single sprint.

Sophie L.
Sophie L.
CTO

The SD-JWT VC implementation is rock-solid. Selective disclosure just works out of the box with clean APIs.

Marcus W.
Marcus W.
Lead Engineer

Finally an SDK that takes both credential formats seriously. The mDoc support saved us months of development.

Elena R.
Elena R.
Head of Digital ID

TypeScript-first with incredible DX. The type safety across credential schemas caught bugs we would have shipped.

James C.
James C.
Senior Developer

We evaluated three SSI SDKs. Credat was the only one that handled OpenID4VC protocols correctly and at scale.

Anna K.
Anna K.
VP Engineering

Open source, spec-compliant, and maintained by people who understand the European identity landscape. Highly recommended.

Pierre D.
Pierre D.
Founder
eIDAS 2.0

Full Compliance

Built from the ground up for the EU Digital Identity framework. Every API maps to a regulation requirement.

< 50kb

Gzipped Bundle

Tree-shakeable ESM architecture. Import only what you need — credential issuance, verification, or both.

2 Formats

SD-JWT VC & mDoc

First-class support for both EU-mandated credential formats. Switch between them with a single config change.

How It Works
quickstart.ts
1import { Credat } from "credat"

3// 1. Create a client
4const client = Credat.create({
5 format: "sd-jwt-vc",
6 issuer: "did:web:example.com"
7})

9// 2. Issue a credential
10const credential = await client.issue({
11 type: "VerifiableId",
12 claims: {
13 given_name: "Marie",
14 family_name: "Dupont",
15 birth_date: "1990-01-15"
16 }
17})

19// 3. Verify it
20const result = await client.verify(credential)
21console.log(result.valid) // true
Step 1

Import the SDK

A single import gives you everything — issuance, verification, and credential management.

Step 2

Create a Client

Configure your credential format and issuer identity. Supports SD-JWT VC and mDoc out of the box.

Step 3

Issue a Credential

Define the credential type and claims. The SDK handles schema validation, signing, and encoding.

Step 4

Verify Instantly

One-line verification with full status checking, signature validation, and revocation support.

Step 1

Import the SDK

A single import gives you everything — issuance, verification, and credential management.

quickstart.ts
1import { Credat } from "credat"

Step 2

Create a Client

Configure your credential format and issuer identity. Supports SD-JWT VC and mDoc out of the box.

quickstart.ts
3// 1. Create a client
4const client = Credat.create({
5 format: "sd-jwt-vc",
6 issuer: "did:web:example.com"
7})

Step 3

Issue a Credential

Define the credential type and claims. The SDK handles schema validation, signing, and encoding.

quickstart.ts
9// 2. Issue a credential
10const credential = await client.issue({
11 type: "VerifiableId",
12 claims: {
13 given_name: "Marie",
14 family_name: "Dupont",
15 birth_date: "1990-01-15"
16 }
17})

Step 4

Verify Instantly

One-line verification with full status checking, signature validation, and revocation support.

quickstart.ts
19// 3. Verify it
20const result = await client.verify(credential)
21console.log(result.valid) // true
Open Source

Build the Future of Digital Identity

Credat is open source and built for the community. Start issuing eIDAS 2.0 credentials in minutes — or contribute to shape the standard.