SDK · REST · MINIAPP BRIDGE

Ship auth that
can't leak what
you never held.

Every service gets its own scoped ID. Ask a question, get a zero-knowledge answer, store nothing. Passwordless sign-in, attestation checks and E2E messaging behind three calls.

verify-age.ts
const { ok } = await unet.prove({
scope: 'forum.example',
claim: 'age >= 18'
});
// ok === true — and you learned nothing else
SCOPED IDSZK ATTESTATIONSE2E MESSAGINGiOS · ANDROID · WEB
DRAG THE GRAPH TO ROTATE

The integration path, in order

The user-facing approval stays light. The trust-sensitive part stays typed, signed, and verified server-side.

01

Host a Direct Login challenge

server creates an expiring, provider-owned challenge and QR surface.

02

Wait for holder approval

The holder signs locally in U-net. Your service receives only its scoped account and public key.

03

Exchange the approved session

server verifies the account signature, prevents replay, and lets your backend create its own HTTP-only session.

04

Add proof requests when needed

Layer verification sessions on top when a checkout or workflow needs a specific attested predicate.

server.ts
import { createDirectLoginService } from '@u-net/server';
const login = createDirectLoginService({
serviceId: 'your-service-id',
origin: 'https://example.com',
challengeStore, accountStore,
});
// Mount the SDK web handlers at your manifest routes.
// Login data never passes through a central U-net session API.

Packages

Everything ships typed, and every package targets the same public trust-plane contracts as the U-net demos.

@u-net/server

Host Direct Login V2, provider sessions, manifests, inboxes, and aggregate metrics.

@u-net/issuer

Issue, deliver, renew, replace, and revoke Ledger V2 credentials.

@u-net/web-login

Create and poll provider-hosted Direct Login V2 challenges in browsers.

@u-net/react

React hooks and components for Direct Login V2 and verification.

@u-net/verification

Request privacy-preserving attestation checks.

@u-net/client

Resolve verified services and read exact Ledger V2 state.

@u-net/contracts

Generated TypeScript contracts for current public V2 APIs.

@u-net/setup

Generate provider-owned keys and registration bundles locally.

Building the check into a real product?

See what it changes for the person approving it, or the business deciding what to ask for.