// SDK DOCS
zkJANUS SDK
Integrate private, verifiable identity into any app. Generate proofs client-side, verify on-chain, reveal nothing.
// Overview
The zkJanus SDK lets your app request and verify zero-knowledge proofs of identity, reputation, and credentials. Users prove claims without ever exposing the underlying data.
quickstart
import { Janus } from "@zkjanus/sdk";
const janus = new Janus({ network: "solana" });
// link a user's passport
await janus.connect();// Install
bash
$ npm install @zkjanus/sdk # or $ pnpm add @zkjanus/sdk $ yarn add @zkjanus/sdk
// Verify
Verify a claim against a user's passport. The proof reveals only the answer — true or false.
quick verify
// one call — boolean, nothing else const verified = await Janus.verify(wallet); // → true // the app never sees wallet history, balances, or identity.
verify.ts
// verify a passport proof — reveals nothing
const ok = await janus.verify({
proof, // zk-SNARK from the user's client
claim: "reputation >= 80",
passport: "0x91f...JANUS",
});
if (ok) grantAccess();// Register
Issuers sign credentials onto a passport. The holder later proves them without revealing the values.
register.ts
// issue a signed credential to a passport
await janus.register({
passport: "0x91f...JANUS",
credential: "kyc.tier2",
issuer: signer, // credential authority
});// API
reference
janus.connect()link a wallet / passport
janus.prove(claim)generate a zk proof client-side
janus.verify(opts)verify a proof → boolean
janus.register(opts)issue a signed credential
janus.passport(addr)fetch the public face
janus.revoke(id)revoke a credential
// Privacy
The data boundary is absolute. Private inputs are computed locally and never transmitted.
data boundaryENFORCED
NEVER TRANSMITTED [▓] wallet history [▓] identity documents [▓] raw credential values TRANSMITTED [✓] a zk proof (constant size) [✓] the public claim being proven
