DEV Community

Cover image for Building Digital Identity Tools - Why We Open-Sourced Our SSI SDK
Panche Isajeski
Panche Isajeski

Posted on

Building Digital Identity Tools - Why We Open-Sourced Our SSI SDK

After six months building Blockia ID, our identity verification platform, we're open-sourcing the TypeScript SSI SDK that powers it. Here's why we built another SSI SDK when several already exist.

The Context

The EU's eIDAS 2.0 regulation mandates digital identity wallets by 2026. Every enterprise we work with needs to start preparing now. We needed an SSI solution that would integrate seamlessly with modern TypeScript/Node.js stacks without requiring infrastructure overhauls.

The Evaluation Journey

We spent weeks evaluating existing SSI SDKs. Each one is excellent for its intended use case:

Walt.id offers the most comprehensive feature set but requires JVM expertise and infrastructure we didn't have.

Sphereon provides extensive functionality built on Veramo. It's feature-rich and well-maintained, but we needed more flexibility in our architecture choices.

Veramo has an elegant plugin system that allows infinite extensibility. For teams wanting to build custom identity solutions from scratch, it's ideal.

Why Another SDK?

Each SDK above serves its community well. But we found ourselves in a specific situation:

  • Pure TypeScript team
  • Enterprise clients allergic to blockchain dependencies
  • Need for latest OpenID4VC standards (Draft-17 and Draft-24)
  • Requirement for minimal bundle sizes in production
  • Developers wanting to ship features, not build infrastructure

We realized we weren't alone. Many TypeScript teams face the same constraints.

Our Design Philosophy

Modular by default: We split functionality into 11 focused NPM packages. Teams building just a verifier don't need wallet code. Building just a wallet doesn't require issuer logic. Install only what you actually use.

TypeScript-native: Not bindings to other languages, not wrappers around REST APIs. Pure TypeScript with full type inference, making your IDE actually helpful.

Standards-first: We implemented OpenID4VCI Draft-17 and OpenID4VP Draft-24 - the actual specifications the EU wallet will use. Plus W3C VC 2.0 and DID Core 1.0.

Production-focused: Every decision optimized for shipping products, not exploring possibilities. Boring is good. Stable is better.

The Reality of Building SSI

After six months in production with Blockia ID, here's what we learned:

Most enterprises don't want revolutionary architecture changes. They want SSI capabilities that plug into existing systems.

Developers don't want to become identity protocol experts. They want to issue a credential and move on to business logic. The simpler the integration, the more likely adoption succeeds.

Standards matter more than features. Supporting the latest OpenID4VC drafts means compatibility with upcoming EU wallets. That's more valuable than 50 exotic features.

What We Built

Eleven NPM packages totaling 89KB when bundled. Each package does one thing well:

  • Credential issuance
  • Credential verification
  • Wallet operations
  • DID management
  • Key management
  • Revocation handling

Pick what you need. Ignore what you don't.

Current Status

We're running this in production for Blockia ID, processing identity verifications daily. It's stable for our use cases, but we know others have different needs.

What's working:

  • Complete credential lifecycle
  • HD wallet implementation
  • DID:key and DID:web support
  • Latest OpenID4VC standards

What's coming:

  • More DID methods
  • Advanced privacy features
  • Broader credential formats

The Open Source Decision

We could have kept this internal. But the SSI ecosystem improves when we share solutions. Every team shouldn't have to solve the same problems independently.

Plus, we know our perspective is limited. The TypeScript community will find edge cases we haven't considered, suggest improvements we haven't imagined, and build integrations we never planned.

Who This Is For

If you're a TypeScript team needing SSI capabilities without infrastructure changes, this might help. If you're preparing for EU digital identity requirements with limited resources, this could save you months.

If you're happy with your current SSI solution, stick with it. We're not trying to replace anything - just offering another option for teams with specific constraints.

Join Us

The SDK is Apache 2.0 licensed and available today:

We're looking for:

  • Feedback from production users
  • Missing features you actually need
  • Integration patterns that work
  • Standards we should prioritize

Final Thoughts

That's what we built. It's not revolutionary. It's not the most feature-rich. But it works and it's small.

Top comments (0)