Live - ZK CAPTCHA
Human verification, zero-knowledge proof.
No more clicking traffic lights.
Privacy-preserving (no behavioral tracking).
Single proof, unlimited verifications.
Fallback for edge cases.
ZKcaptcha - Now in Public Beta
Verify personal attributes or browse privately without exposing emails, IPs, or credentials. Zero-knowledge proofs generated locally and verified scalably on HashKey Chain.
Powered by HashKey Chain
Full-stack Confidential Browsing
Everything you need to build private, proof-based verification into your app. From CAPTCHA to authentication - one stack.
Human verification, zero-knowledge proof.
No more clicking traffic lights.
Privacy-preserving (no behavioral tracking).
Single proof, unlimited verifications.
Fallback for edge cases.
Proof-based authentication.
Login without passwords.
Reusable identity proofs.
No data silos or identity databases.
Cross-app identity portability.
APIs for proof requests.
Drop-in SDK for any stack.
Automatic proof generation.
Real-time attestation status.
Multi-chain settlement.
Seamless proof generation.
Auto-prompt for proof requests.
Local proof generation (WASM).
Proof caching & reuse.
Privacy dashboard for users.
Compare to traditional verification methods
- Privacy-preserving
- No behavioral tracking
- No data storage required
- User-controlled identity
- Repeatable proofs (no reCAPTCHA)
- Cross-platform compatible
- Bot-resistant
- Easy integration
Traditional methods include reCAPTCHA, password-based auth, OAuth, and passwordless solutions.
From request to verification in four simple steps
Your app requests a specific proof (e.g., "prove you own this GitHub account") via our SDK.
The user's browser generates a ZK proof locally using our SDK or extension. No data leaves their device.
The proof is submitted to HashKey Chain, which verifies it ultra-fast and creates an on-chain attestation.
Your app queries a simple API to check the attestation. No need to handle complex ZK logic.
Where ZAuth shines across industries
Any scenario where you need to verify attributes without collecting or storing sensitive data.
Replace CAPTCHA with ZK proofs that distinguish humans from bots without invading privacy or frustrating users.
Verify users are over 18 or 21 without collecting or storing their ID or date of birth.
Ensure one-person-one-vote or one-person-one-account without collecting personal identifiers.
Prove ownership of accounts (GitHub, Twitter, email) without exposing tokens or OAuth tokens.
Streamline KYC by verifying attributes (residency, accreditation) without exposing underlying documents.
Grant access to exclusive content or features based on verifiable attributes without data collection.
Build with ZAuth without being a ZK expert
We handle the complex ZK stuff. You just integrate simple APIs and get verifiable attestations back.
Install via npm, integrate in minutes. Full TypeScript support with type-safe APIs.
Request proofs, check status, fetch attestations - standard REST endpoints, no ZK expertise needed.
Guides, tutorials, API reference, and example apps. From hello world to production fast.
HashKey Chain handles proof verification in under 1 second. Your app just checks attestation state.
// Request a proof
const proofRequest = await Zauth.proofs.request({
type: "github-account",
params: { owner: "user" }
});
// Check status
const status = await Zauth.proofs.status(proofRequest.id);
// Get attestation
const attestation = await Zauth.attestations.get(proofRequest.id);
console.log(attestation.valid); // true