Skip to content

feat(openac-sdk): add TypeScript SDK for ZK credential proving#62

Merged
vplasencia merged 1 commit intomainfrom
feat/sdk
Feb 17, 2026
Merged

feat(openac-sdk): add TypeScript SDK for ZK credential proving#62
vplasencia merged 1 commit intomainfrom
feat/sdk

Conversation

@0xVikasRushi
Copy link
Collaborator

Add openac-sdk

TypeScript SDK for OpenAC sdk credential proving.

What's in it

  • Credential - SD-JWT parser
  • NativeBackend - Rust CLI wrapper
  • WitnessCalculator - circom WASM witness gen
  • buildJwtCircuitInputs() / buildShowCircuitInputs() - circuit input builders

Usage

import { Credential, NativeBackend } from "@openac/sdk";

const credential = Credential.parse(jwt, disclosures);
const backend = new NativeBackend();

await backend.proveAll();
const result = await backend.verifyShow();

Test Plan

  • Run npm install in wallet-unit-poc/openac-sdk/
  • Run npm test - all unit tests pass
  • Run npm run build - TypeScript compiles without errors
  • E2E tests pass when proving keys exist

Introduces a new TypeScript/JavaScript SDK that provides a high-level API
for the zkID credential proving system:

- Core SDK classes: OpenAC, Prover, Verifier, Credential
- Input builders: buildJwtCircuitInputs, buildShowCircuitInputs
- NativeBackend wrapper for ecdsa-spartan2 Rust CLI
- WitnessCalculator for JS-based witness generation
- Comprehensive test suite using SDK public API with self-contained
  ES256 SD-JWT generation (no external JWT library dependencies)

e2e tests validate the actual integration surface users will consume,
generating test credentials programmatically and exercising the full
Prepare -> Show proving pipeline.
@0xVikasRushi 0xVikasRushi marked this pull request as ready for review February 17, 2026 10:11
Copy link
Member

@vplasencia vplasencia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me! Great work @0xVikasRushi

@vplasencia vplasencia merged commit fa16eb4 into main Feb 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants