Developer Hub

Zero to Auth in 5 minutes.

Integrate decentralized, privacy-preserving authentication into any application. No vendor lock-in, no passwords to store.

$npm install @solidus-network/auth
Quickstart Guide
app/api/auth/route.ts
1import { SolidusAuth } from '@solidus-network/auth';
2
3export const POST = SolidusAuth({
4 providers: [
5 CredentialProvider({
6 requirements: ['age >= 18', 'verified-human'],
7 network: 'mainnet'
8 })
9 ],
10 callbacks: {
11 onSuccess: (session) => {
12 // No PII touches your servers.
13 provisionAccount(session.did);
14 }
15 }
16});

Quickstart

Get up and running with a verifiable, zero-knowledge authentication flow in just four steps. We'll use Next.js for this example.

Install Dependencies

Add the Solidus SDK and auth primitives to your project.

2

Issue a Challenge

On the server, mint a one-time challenge for the DID that wants to log in.

3

Verify the Presentation

Verify the W3C Verifiable Presentation the wallet signs in response to the challenge.

4

Client Login Flow

Fetch a challenge, sign it with the user’s wallet, then post the presentation back.

bash
npm install @solidus-network/sdk @solidus-network/auth

Works with your stack

The SDK is a TypeScript package on npm, so it runs anywhere JavaScript does. The protocol itself is open and language-agnostic — SDKs for other languages are on the roadmap, not shipped.

Frontend
Next.js
Frontend
React
Frontend
Vue
Frontend
Svelte
Backend
Node.js
Backend
Express
Backend
Fastify
Backend
Deno

REST API

Build custom integrations using our fully documented, highly available REST API. All endpoints require standard Bearer token authentication using your project's secret key.

Rate limit: 1000 req / minute
Ed25519 signature supported
Full API ReferenceComing Soon
POST
/v1/auth/verify

Verify a zero-knowledge proof credential payload from a client.

POST
/v1/auth/challenge

Generate a cryptographic challenge for the user to sign.

GET
/v1/users/:did

Retrieve public profile information for a decentralized identifier.

PATCH
/v1/users/:did

Update application-specific metadata for a user.

POST
/v1/credentials/issue

Issue a new verifiable credential to a user's wallet.

POST
/v1/credentials/revoke

Revoke an active credential using its unique identifier.

GET
/v1/sessions

List active authenticated sessions for a user.

DELETE
/v1/sessions/:id

Invalidate a specific session token.

Developer Hub — Solidus Network