VerifyBlindVerifyBlindBeta
What is it?UniquenessAge VerificationZero-KnowledgeTransparencyFAQPartners
Download AppPartner Login

Developer Documentation

Integrate VerifyBlind into your own platform in minutes.

Quickstart

VerifyBlind integration takes three steps: create an account, write a backend nonce endpoint, and embed the widget. The server-side webhook is optional — it works fully with the frontend widget alone.

1

Partner Account & API Key

Partner Portal — sign up and copy your API Key from the Settings page. The API Key is a UUID. Never embed it in the frontend.

2

Backend Nonce Endpoint

The widget sends a temporary RSA public key it generated in the browser to an endpoint on your backend. That endpoint forwards the data to the VerifyBlind API and returns a nonce. The API key stays on the server side.

// POST /generate-nonce  (Express)
app.post('/generate-nonce', async (req, res) => {
  const { public_key, validations, additional_data } = req.body;
  const response = await fetch('https://api.verifyblind.com/api/pop/generate', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'X-API-Key': process.env.VERIFYBLIND_API_KEY },
    body: JSON.stringify({ public_key, validations, additional_data }),
  });
  res.json(await response.json()); // { "nonce": "b1362715-..." }
});
3

Widget Embed

Add verifyblind.js to your page.

HTML
<script src="https://partner.verifyblind.com/verifyblind.js"></script>
<div id="verifyblind-container"></div>
<script>
window.VerifyBlind.init({
  generateUrl:  '/generate-nonce',
  apiUrl:       'https://api.verifyblind.com',
  captcha:      true,
  payload: {
    validations:  { age: '18+', user_id: true },
    additional_data: { session_id: 'abc123' },
  },
  containerId: 'verifyblind-container',
  onSuccess: (data) => {
    console.log(data.validations.age);      // true / false
    console.log(data.validations.user_id);  // "a1b2c3..." anonymous ID
  },
  onError: (err) => console.error(err),
});
</script>
Flow Summary
Browser (verifyblind.js)          Partner Backend        VerifyBlind API
──────────────────────────────────────────────────────────────────
1. Generate a temporary RSA key pair
2. public_key + validations ──► POST /generate-nonce ──► POST /api/pop/generate
                            ◄── { nonce }            ◄──  { nonce }
3. Show QR (nonce embedded)
4. User scans QR and verifies on their phone
5. GET /api/pop/result/{nonce} (polling) ─────────────────────────►
6. { status: "completed", encrypted_response: {...} } ◄───────────
7. Decrypt in the browser with the temporary private key
8. onSuccess(data) ✓
VerifyBlindVerifyBlind

Turkey's first zero-knowledge identity verification system.

Help

  • Frequently Asked Questions
  • Error Codes & Solutions
  • Download App
  • Feedback
  • Support

Developers

  • Documentation
  • Portal
  • Status

Legal

  • KVKK Disclosure Notice
  • Privacy Policy
  • Terms of Use
  • Cookie Policy
  • Data Processing Agreement

© 2026 VerifyBlind. All rights reserved.