Auth API for developers · v1 live on zeroauth.dev

Authentication where a breach exposes nothing.
Drop-in API. Zero-knowledge proofs.

ZeroAuth is an auth API that replaces stored credentials with zero-knowledge proofs. Ship signup, login, and device attestation in minutes — with no passwords in your database and no secrets on the wire.

0
Secrets Stored
0
Secrets Transmitted
0%
Mathematically Verified

Up and running in five lines.

Spin up a tenant from the dashboard, grab an API key, and start issuing zero-knowledge proofs from any backend.

1. Get an API key

Sign up to create a tenant. You’ll get a za_test_… key for development and a separate za_live_… key for production.

2. Register a user

POST a commitment from the client SDK. ZeroAuth stores the commitment — never the underlying secret.

3. Verify the proof

On every login, send the Groth16 proof to /v1/verifications. Get back a verified principal in <100 ms.

# 1. Register a user with a commitment
curl -X POST https://api.zeroauth.dev/v1/users/register \
  -H "Authorization: Bearer $ZEROAUTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "user_42",
    "commitment": "0x1f3c…"
  }'

# 2. Verify a Groth16 proof at login
curl -X POST https://api.zeroauth.dev/v1/verifications \
  -H "Authorization: Bearer $ZEROAUTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "user_42",
    "proof": { "a": [...], "b": [...], "c": [...] },
    "public_signals": ["0x1f3c…"]
  }'
import { ZeroAuth } from '@zeroauth/sdk';

const za = new ZeroAuth({ apiKey: process.env.ZEROAUTH_API_KEY });

// 1. Register a user from your backend
await za.users.register({
  externalId: 'user_42',
  commitment,                       // from client SDK
});

// 2. Verify a proof on login
const { verified, principal } = await za.verifications.create({
  externalId: 'user_42',
  proof,
  publicSignals,
});

if (verified) issueSession(principal);
from zeroauth import ZeroAuth

za = ZeroAuth(api_key=os.environ["ZEROAUTH_API_KEY"])

# 1. Register a user
za.users.register(
    external_id="user_42",
    commitment=commitment,
)

# 2. Verify a proof
result = za.verifications.create(
    external_id="user_42",
    proof=proof,
    public_signals=public_signals,
)

if result.verified:
    issue_session(result.principal)

Everything you expect from a modern auth API.

A typed REST API, a developer console, granular audit logs, and a separation between live and test environments — so you can ship without flying blind.

REST & SDKs

A typed REST API with first-party SDKs for Node and Python. Predictable error codes and idempotent writes.

Live + Test keys

Two isolated environments per tenant. Mint, rotate, and revoke za_live_ / za_test_ keys from the dashboard.

Audit log

Every signup, verification, key rotation, and device event — searchable, exportable, and tamper-evident.

Devices & attestation

Register hardware devices, attach battery + location telemetry, and tie verifications back to a specific endpoint.

Verify in <100 ms

Groth16 verification on a single core. Run it inside our API or self-host the verifier — the math is the same.

Open source

API, dashboard, circuits, and docs are all on GitHub. Audit it. Self-host it. Fork it.

Three steps. Zero secrets exposed.

ZeroAuth uses zero-knowledge proofs to let users prove their identity without ever revealing credentials — not to your servers, not to anyone.

01

User Enrolls Locally

The user creates a credential on their own device. A cryptographic commitment is generated and stored — never the credential itself. Your server never sees the secret.

// On user's device
const secret = generateCredential();
const commitment = poseidonHash(secret);
// Only commitment is sent to server
register({ commitment });
02

Prove Without Revealing

At login, a zero-knowledge proof is generated client-side. It mathematically proves the user knows the credential — without transmitting any part of it.

// Client-side proof generation
const proof = await groth16.prove(
  circuit, { secret, commitment }
);
// Server verifies math, not secrets
authenticate({ proof });
03

Verify On-Chain or Off

Proofs are verified against the commitment using succinct verification. Works on-chain via smart contracts or off-chain with a lightweight verifier.

// Server / smart contract
const valid = groth16.verify(
  verificationKey, proof, signals
);
// true — identity confirmed
// secrets exposed: 0

See it in action — 60 seconds, zero secrets.

Watch a complete authentication flow: biometric scan, ZK proof generation, SSO access, and a simulated breach that exposes nothing.

What a breach actually costs.

In 2023, Okta's breach exposed every support customer's data. Here is the same scenario with ZeroAuth.

Traditional Auth (Okta Breach)
October 2023
Records exposed All support customers
Incident response $2.1M+
Legal & regulatory $8M+
Customer churn $15M+
Stock price impact -11.6%
Total damage $25M+
vs
ZeroAuth
Same breach scenario
Records exposed 0 usable records
Incident response $0
Legal & regulatory $0
Customer churn $0
Credential reset needed None
Total damage $0

Patent-Protected Technology

ZeroAuth's core cryptographic protocol is protected by granted and pending patents across multiple jurisdictions.

Granted
Indian Patent
202311041001

Need SOC 2, SSO, or a private deployment?

Self-serve gets you to production for most workloads. For regulated industries or on-prem requirements, our team works directly with your security org — no rip-and-replace required.

Zero-Trust by Default

Your database becomes worthless to attackers. No password hashes, no tokens, no session secrets to exfiltrate.

Drop-In Integration

Works alongside your existing IdP. Integrates via standard APIs and SDKs. Deploy in days, not quarters.

Compliance-Ready

Designed for SOC 2, GDPR, and HIPAA. Less data stored means less data to govern.

Mathematically Proven

Built on peer-reviewed cryptographic primitives: Groth16 proofs, Poseidon hashing, and elliptic curve pairings.

Talk to our team

For SOC 2, SSO, on-prem, or pilot deployments. We’ll reach out within one business day.

For self-serve: create an account →

Request received

Our team will contact you within one business day to schedule your technical walkthrough.

White Paper

The cryptographic foundations, architecture, and security proofs behind ZeroAuth.

ZK-SNARKs Groth16 Poseidon Hash Enterprise Auth

ZeroAuth: Zero-Knowledge Authentication for the Enterprise

Covers threat model analysis, protocol design, circuit architecture, on-chain and off-chain verification, and deployment strategies.

Thanks — your download is starting. Click here if it does not begin automatically.