Privacy-native identity verification. Prove who you are without revealing who you are. Built on zero-knowledge cryptography.
Every platform stores your passport, face, and address in a centralized database. Then they get breached. In 2024 alone, 3.2 billion identity records were exposed across financial services, healthcare, and government systems. The average breach costs $4.88 million and takes 277 days to detect. The system designed to protect you is the biggest threat to your privacy.
Verify with 10 services — your identity leaks from 10 attack surfaces. The fundamental architecture is broken. ZER0ID replaces it.
Five steps. Sub-second. Your data never leaves your device. Click any step for the full technical detail.
User presents a government-issued ID document to their device camera or NFC reader. On-device ML detects document type, extracts edges, and validates authenticity markers — holograms, microprint patterns, MRZ checksums. No image is transmitted. No server ever sees the document.
On-device OCR extracts structured fields — date of birth, nationality, document expiry, name hash. These become the private witness inputs to the ZK circuit. The raw document image is immediately discarded from memory. Your face, your name, your address — none of it persists anywhere.
Private inputs are hashed using Poseidon — a hash function specifically designed for efficient computation inside zero-knowledge circuits. Unlike SHA-256 (which requires ~25,000 constraints per hash), Poseidon needs only ~300 constraints, making proof generation fast enough for real-time verification.
A Groth16 zero-knowledge proof is generated entirely on-device using WASM. The proof is exactly 3 elliptic curve points (128 bytes) regardless of how complex the statement being proved is. It proves 'I have a valid document showing I meet your requirements' without revealing any document data.
Verification is a single elliptic curve pairing check — it takes 10 milliseconds on any modern device and can also run on-chain in a smart contract for ~230K gas. The verifier learns only that the proof is valid. Not your age. Not your country. Not your name. Just 'verified' or 'not verified'.
From DeFi protocols to enterprise fintech — ZER0ID replaces surveillance-based identity with cryptographic proof.
Prediction markets, DEXs, lending protocols, and token launches need to verify users without becoming data custodians. ZER0ID lets you gate access by jurisdiction and age without storing a single passport scan. When regulators ask 'do you KYC?', the answer is yes — cryptographically.
Smart contract calls Groth16Verifier.verify(proof, publicInputs) — 230K gasNot every app needs your passport. Five trust levels, each proving progressively more about you while revealing progressively nothing.
Prove you're a unique person without revealing anything about yourself. A cryptographic nullifier ensures one identity per application — no double-dipping, no Sybil attacks. The nullifier is deterministic but unlinkable across different apps, preserving pseudonymity.
The circuit takes a secret identity key (stored on-device) and the app's domain as inputs, producing a deterministic nullifier N = Poseidon(identityKey, appDomain). Two different apps get two different nullifiers — but the same app always gets the same one for the same person. No PII involved at any stage.
Drop-in SDK. Zero PII on your servers. Full compliance out of the box. Ship privacy-native identity in an afternoon.
import { ZeroId } from '@zeroid/sdk' const proof = await ZeroId.verify({ level: 3, checks: ['age', 'sanctions', 'liveness'], }) // That's it. Zero PII touched your servers. console.log(proof.nullifier) // → 0x7a3f...9e12
import { ZeroIdProvider, ZeroIdGate } from '@zeroid/react' function App() { return ( <ZeroIdProvider appId="your-app-id"> <ZeroIdGate level={2} minAge={18} onVerified={(proof) => grantAccess(proof)} theme="dark" > <ProtectedContent /> </ZeroIdGate> </ZeroIdProvider> ) }
The ZeroIdGate component wraps any content that requires identity verification. When an unverified user encounters the gate, it renders an inline verification flow — document scan, proof generation, and callback — all within your existing UI. No redirects. No popups. No iframes.
Server-side verification is a single function call. The proof is mathematically verified, the nullifier is checked for uniqueness, and the trust level is confirmed. Your database stores a nullifier hash and a boolean — not a name, not a face, not an address.
import { ZeroIdServer } from '@zeroid/server' const zeroid = new ZeroIdServer({ apiKey: process.env.ZEROID_API_KEY, }) app.post('/verify', async (req, res) => { const result = await zeroid.verify(proof, publicInputs) if (result.valid) { // Store nullifier, not identity await db.users.update({ nullifier: result.nullifier, verified: true, }) } })
Four layers. Each one designed so that compromising any single layer reveals nothing about your users.
Every row is a liability eliminated. Every green cell is a problem that no longer exists.
Data exists — encrypted for a specific regulator, accessible only with legal process. Nobody else can read it. Ever.
No credit card required for Developer tier. Enterprise includes dedicated support and custom circuit development.
For builders exploring ZK identity. Full SDK access, testnet proofs, and documentation.
For products shipping to production. Mainnet proofs, higher trust levels, and priority support.
For regulated industries. Full KYC/AML, cryptographic escrow, on-premise deployment, dedicated support.
All plans include: documentation, Discord community, SDK updates, and testnet access.
Volume discounts available for 100K+ monthly verifications.
Five packages. Full TypeScript. MIT-licensed SDK. Deploy privacy-native identity in production today.
@zeroid/sdk1.0.0 · 42KB gzippedCore SDK — proof generation, credential management, verification
@zeroid/react1.0.0 · 18KB gzippedReact components — drop-in verification widget, hooks, context provider
@zeroid/server1.0.0 · 35KB gzippedServer-side — proof verification, credential issuance, escrow management
@zeroid/contracts1.0.0 · 12KBSolidity — Groth16Verifier, NullifierRegistry, ERC-4337 integration
@zeroid/circuits1.0.0 · 8KBCircom circuits — all trust levels, constraint-optimized, audited
npm install @zeroid/sdk @zeroid/reactReal answers. No marketing speak.
Privacy-native identity infrastructure for the post-breach era.
Built by THE SECRET LAB as part of the VEIL ecosystem.