Verify age without exposing personal data. Zero-knowledge proofs, comprehensive SDK, and developer tools to integrate in minutes.
npm install @elyndra-studios/rebelverify
import { rebelVerify } from '@elyndra-studios/rebelverify';
await rebelVerify.initialize();
const result = await rebelVerify.submitID(document);
const proof = await rebelVerify.generateProof(token, 18);Complete age verification solution with privacy at its core
Verify age eligibility without revealing birthdate. True privacy protection using cryptographic proofs.
Comprehensive TypeScript SDK with full type safety. Works in browser and Node.js environments.
Clean, well-documented API with authentication, rate limiting, and webhook support.
Automatic birth date extraction from ID documents using client-side OCR processing.
Right to erasure, minimal data storage, and comprehensive audit logging built-in.
Simple pricing: £0.25 per verification. Stripe integration included.
Follow these simple steps to integrate RebelVerify
Install the RebelVerify SDK using npm or yarn
npm install @elyndra-studios/rebelverify
# or
yarn add @elyndra-studios/rebelverifyInitialize the SDK in your application
import { rebelVerify } from '@elyndra-studios/rebelverify';
// Initialize the SDK
await rebelVerify.initialize();
console.log('RebelVerify SDK ready!');Upload and process an ID document
// Submit ID document (File, Blob, or data URL)
const result = await rebelVerify.submitID(documentFile, {
documentType: 'id'
});
if (result.success) {
const { verificationToken } = result.data;
// Store token for proof generation
}Generate a zero-knowledge proof for age verification
// Generate proof for minimum age of 18
const proof = await rebelVerify.generateProof(
verificationToken,
18 // minimum age
);
if (proof.success) {
// Send proof to your backend for verification
await verifyWithBackend(proof.data);
}Verify the proof on your backend server
// Verify proof on backend
const response = await fetch('https://api.rebelverify.com/api/v1/verify', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify({
proof: proof.proof,
publicSignals: proof.publicSignals,
signature: proof.signature
})
});
const result = await response.json();
if (result.valid) {
// User is verified!
}Complete API documentation with examples
initialize()Initializes the SDK with cryptographic keys and ZKP service.
await rebelVerify.initialize(privateKey?: string): Promise<VerificationResult>| Parameter | Type | Required | Description |
|---|---|---|---|
privateKey | string | No | Existing private key (hex string). If not provided, generates new key pair. |
submitID()Submits an ID document for processing and extracts birth date using OCR.
await rebelVerify.submitID(idDocument: string | File, metadata?: Record<string, any>): Promise<VerificationResult>generateProof()Generates a zero-knowledge proof for age verification.
await rebelVerify.generateProof(verificationToken: string, minAge: number): Promise<VerificationResult>exportCredential()Exports a verification credential for reuse across platforms.
await rebelVerify.exportCredential(proofId: string): Promise<VerificationResult>Pay only for what you use
Coming Mid to Early 2026
Experience RebelVerify in action
Upload an ID document to see zero-knowledge verification in action
Click to upload ID document
Supports: JPG, PNG, PDF
Join developers building the future of age verification. Get started in minutes.
Coming Mid to Early 2026