TypeScript packages for building with the Solidus Network.
DIDs, Verifiable Credentials, and authentication — in a few lines of code.
| Package | Description | Status |
|---|---|---|
@solidus/types |
Shared TypeScript types (DID, VC, Auth) | Published |
@solidus/sdk |
Core SDK client — DID, credentials, auth | Published |
@solidus/auth |
"Sign in with Solidus" — DID challenge/verify | Published |
@solidus/jwt |
EdDSA JWT creation and verification | Published |
@solidus/events |
RabbitMQ event bus for inter-service messaging | Published |
@solidus/config |
Shared tsconfig, ESLint, Tailwind config | Published |
import { createSdk } from '@solidus/sdk'
const solidus = createSdk({ mode: 'stub' })
// Create a DID
const { did, document } = await solidus.did.create({
publicKey: keypair.publicKey
})
// → did:solidus:stub:5dK3fP7vLm8Qw2xNz9Rb4YcJ6tHgAs
// Issue a credential
const vc = await solidus.credentials.issue({
issuerDid: issuer.did,
subjectDid: did,
type: 'KycL1',
hash: documentHash
})
// Verify a credential
const result = await solidus.credentials.verify(vc.credentialId)
// → { valid: true, revoked: false }import { SolidusAuth } from '@solidus/auth'
// Server-side: create challenge
const challenge = await solidus.auth.createChallenge({
did: userDid
})
// Client-side: sign challenge
const signature = await sign(challenge, privateKey)
// Server-side: verify
const session = await solidus.auth.verifyPresentation({
challenge, signature, did: userDid
})The SDK supports transparent backend switching via a single environment variable:
SOLIDUS_SDK_MODE=stub # PostgreSQL-backed (development)
SOLIDUS_SDK_MODE=testnet # Real blockchain (coming soon)
SOLIDUS_SDK_MODE=mainnet # Production chain (future)Applications built against the stub work identically against the real chain — zero code changes.
- W3C DIDs —
did:solidus:<network>:<identifier> - W3C Verifiable Credentials — Data Model v2.0
- Ed25519Signature2020 — Credential proofs
- EdDSA JWTs — Session tokens with DID claims
Proprietary. All rights reserved. See Solidus Network for more information.