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/auth1import { SolidusAuth } from '@solidus-network/auth';23export 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.
Issue a Challenge
On the server, mint a one-time challenge for the DID that wants to log in.
Verify the Presentation
Verify the W3C Verifiable Presentation the wallet signs in response to the challenge.
Client Login Flow
Fetch a challenge, sign it with the user’s wallet, then post the presentation back.
npm install @solidus-network/sdk @solidus-network/auth
Supported Frameworks
Official SDKs and integration guides for the most popular modern stacks. Don’t see yours? The protocol is open and language-agnostic.
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.
/v1/auth/verifyVerify a zero-knowledge proof credential payload from a client.
/v1/auth/challengeGenerate a cryptographic challenge for the user to sign.
/v1/users/:didRetrieve public profile information for a decentralized identifier.
/v1/users/:didUpdate application-specific metadata for a user.
/v1/credentials/issueIssue a new verifiable credential to a user's wallet.
/v1/credentials/revokeRevoke an active credential using its unique identifier.
/v1/sessionsList active authenticated sessions for a user.
/v1/sessions/:idInvalidate a specific session token.