VERIDU Identity Docs

Wallet identity integration docs

Install and verify in minutes with privacy-first identity flows.

Install in 60 seconds

Step 1 — Add the script tag

<script
  src="https://veridu.id/sdk/v3/veridu.js"
  data-veridu-key="YOUR_SITE_KEY"
  async>
</script>

Step 2 — Verify the token server-side

// Node.js example
const response = await fetch('https://veridu.id/api/verify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'veridu_sec_sk_YOUR_SECRET'
  },
  body: JSON.stringify({ token: req.body.verid_token })
});

const result = await response.json();
// result.status: 'verified' | 'uncertain' | 'failed'
// result.confidence: 0-100
if (result.status !== 'verified') {
  return res.status(403).json({ error: 'Human verification failed' });
}

Step 3 — Done

Every form submission now includes a veridu_token field automatically. Verify it before processing.

Get Your API Key →

Troubleshooting

Token not being generated

Ensure the script tag is loaded before any form submit events fire. Place it in <head> or use the async attribute.

High uncertain rate

Uncertain scores (48-71) indicate ambiguous biological signals. Common causes: very short page sessions (<2 seconds), mobile users on slow connections, or users with motor impairments (see accessibility docs).

CORS errors

Your domain must be registered as an allowed origin on your API key. Update your key's domain allowlist in the dashboard.

Token expired (401)

Tokens have a 300-second TTL. Ensure you are verifying the token immediately after form submission, not storing it for later use.

Ready to go beyond 50K verifications?

$0.0015 per check. No subscription. No contracts. Pay only for what you use.

View Pricing →