Skip to main content
Didit Raises $2M and Joins Y Combinator (W26)
Didit
White-label KYC

Your brand. Didit underneath.

Resell or embed identity verification under your brand. $0.33 + $0.20 white-label fee per check, no UI to build, no compliance to retain. 500 verifications free every month.

Backed by
Y Combinator
GBTC Finance
Bondex
Crnogorski Telekom
UCSF Neuroscape
Shiply
Adelantos

Trusted by 2,000+ organizations worldwide.

A cinematic dark abstract white-label-KYC illustration — four floating translucent glass panels in 3D perspective on pure black, threaded by a luminous Didit Blue line and framed by four glowing scanner brackets. Each panel carries a tiny pale-white abstract motif representing reseller branding (paint-brush tip, theme palette dots, browser window with header bar, SDK puzzle piece).

What a reseller owes

Ship KYC under your name. Skip the stack underneath.

Configure colours, typography, square + rectangular logos, and your own custom domain in the Style Editor — toggle Include custom style on each workflow. The end-user sees your brand, your domain, your flow; you inherit iBeta Level 1 PAD (Presentation Attack Detection), Spain's Tesoro / SEPBLAC attestation, SOC 2 Type 1, and ISO/IEC 27001 from Didit. 500 verifications free every month.

How it works

From sign-up to verified user in four steps.

  1. Step 01

    Create the workflow

    Pick the checks you want — ID, liveness, face match, sanctions, address, age, phone, email, custom questions. Drag them into a flow in the dashboard, or post the same flow to our API. Branch on conditions, run A/B tests, no code required.

  2. Step 02

    Integrate

    Embed natively with our Web, iOS, Android, React Native, or Flutter SDK. Redirect to a hosted page. Or just send your user a link — by email, SMS, WhatsApp, anywhere. Pick what fits your stack.

  3. Step 03

    User goes through the flow

    Didit hosts the camera, the lighting cues, the mobile hand-off, and accessibility. While the user is in the flow, we score 200+ fraud signals in real time and verify every field against authoritative data sources. Result in under two seconds.

  4. Step 04

    You receive the results

    Real-time signed webhooks keep your database in sync the moment a user is approved, declined, or sent to review. Poll the API on demand. Or open the console to inspect every session, every signal, and manage cases your way.

Built for resellers + embedders · Priced like infrastructure

Six primitives. $0.53 cost in per check.

White-label is the same Didit stack with a brand swap on top. Compose the recipe: brand, domain, SDK, workflow, pricing, compliance.
01 · Style Editor

No-code brand swap.

Colours, typography, square + rectangular logos, border radius, optional Didit login screen on or off. Preview lands on a hosted UI that looks like yours, not Didit's. Configured once per account, applied per workflow.
White Label module
02 · Custom domain

Host on verify.yourbrand.com.

CNAME target = verify.didit.me, TLS certificate auto-provisioned via Let's Encrypt, HSTS enabled by default. Verified inside the Business Console — zero ops on your side.
White Label docs
03 · SDKs · five surfaces

One brand. Every runtime.

Same Style Editor config applies across Web, iOS (Swift), Android (Kotlin), React Native (TurboModules), and Flutter. SDKs are free; the white-label fee covers branding across all of them.
Workflow Orchestrator
04 · Per-workflow brand

Mix branded + unbranded on one account.

Toggle Include custom style ON for customer-facing workflows, OFF for internal admin flows. Ideal for multi-brand resellers — one Didit account, many end-customer brands, per-workflow style.
Workflow docs
05 · Reseller pricing

$0.53 cost in. You pick the sticker.

Didit KYC bundle $0.33 + white-label fee $0.20 = $0.53 cost in per check. Mark up to your buyer at $0.99-$1.49; keep the margin. Volume discounts kick in at scale — talk to sales.
User Verification module
06 · Audit retained

Your brand. Same compliance.

iBeta Level 1 PAD, Spain's Tesoro / SEPBLAC attestation, SOC 2 Type 1, ISO/IEC 27001, GDPR alignment, 5-year retention default. Swap the brand; the underlying compliance bar doesn't change.
AML Screening module
Integrate

One session. Your brand. Your domain.

Open the branded session. Read the signed verdict. The end-user never sees Didit.
POST /v3/session/Branded
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -d '{
    "workflow_id": "wf_signup_branded",
    "vendor_data": "end-user-42",
    "metadata": { "tenant_id": "brand-b" }
  }'
201CreatedReturns hosted URL on YOUR custom domain.
Branding via Style Editor + per-workflow toggle. No API change.docs →
GET /v3/session/{sessionId}/decision/Verdict
$ curl https://verification.didit.me/v3/session/$SID/decision/ \
  -H "x-api-key: $DIDIT_API_KEY"

# Returns:
{
  "status": "Approved",
  "aml": { "status": "Approved" }
}
200OKstatus Approved · Declined · In Review · Resubmitted · Expired
Same /v3/ contract, regardless of how you brand the UI.docs →
Agent-ready integration

Ship a white-label KYC product in one prompt.

Paste into Claude Code, Cursor, Codex, Devin, Aider, or Replit Agent. Fill in your brand + domain + workflow modules. The agent configures the Style Editor, wires the signed webhook, and ships the branded flow.
didit-integration-prompt.md
You are integrating Didit white-label KYC. You're either reselling identity verification to your own customers under your brand, or embedding KYC inside your SaaS product so the end-user never sees Didit. Either way, the verification stack is Didit's; the visible brand is yours.

Three pillars:

  1. Configure your brand once in the Style Editor — colours, typography, square + rectangular logos, optional custom domain.
  2. Toggle Include custom style ON for every workflow that should ship under your brand. Leave it OFF for internal admin flows.
  3. Open POST /v3/session/ as usual. The hosted UI returns under your brand on your domain.

Cost:
  - Didit KYC bundle: $0.33 per check (Sessions API floor)
  - White-label fee: $0.20 per check (adds branding + custom domain + per-workflow style toggle)
  - Reseller cost in: $0.53 per check
  - Mark up to your buyer as you choose — published rate at scale, custom contracts above 100k/month
  - First 500 verifications free every month, forever

PRE-REQUISITES
  - Production API key from https://business.didit.me (sandbox key in 60s, no card).
  - White-label add-on enabled on your account (talk to sales to switch it on).
  - Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
  - A workflow_id from the Workflow Builder that bundles the modules you ship (typically ID Verification + Passive Liveness + Face Match 1:1 + AML Screening) with Include custom style ENABLED.
  - Optional: custom domain (e.g. verify.yourbrand.com) configured in the Business Console — Didit handles the CNAME target + TLS cert via Let's Encrypt.

STEP 1 — Configure brand in the Style Editor (no code)

  Console → White Label → Style Editor:
    Colors:      buttons, text, panels, backgrounds
    Typography:  fonts that match your brand
    Logos:       square + rectangular uploads
    Layout:      border radius for panels and buttons
    Login:       show or skip the Didit login screen
    Domain:      add verify.yourbrand.com (CNAME target = verify.didit.me; TLS auto-provisioned)

STEP 2 — Enable custom style on the workflow

  Console → Workflows → <your workflow> → Settings → Options:
    Toggle Include custom style ON. Without this, the workflow ships with default Didit branding.

  Repeat per workflow. You can mix branded + unbranded workflows on the same account — useful for an internal admin flow that doesn't need the customer brand.

STEP 3 — Open a session as usual

  POST https://verification.didit.me/v3/session/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_id": "<wf id with Include custom style ON>",
      "vendor_data": "<your end-user id, max 256 chars>",
      "callback": "https://<your-app>/kyc/callback",
      "metadata": {
        "purpose": "white_label_onboarding",
        "tenant_id": "<your reseller tenant id if multi-brand>"
      }
    }

  Response: 201 Created with the hosted session URL — under YOUR domain if you set one. Sub-2-second median verdict on completion.

STEP 4 — Read the signed webhook on completion

  Didit POSTs to your callback. Session statuses are Title Case With Spaces:

  Body (excerpted):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your end-user id>",
      "status": "Approved",
      "id_verification": { "status": "Approved" },
      "liveness": { "status": "Approved" },
      "face": { "status": "Approved", "similarity_score": 0.94 },
      "aml": { "status": "Approved", "hits": [] }
    }

  Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.

  Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.

  On Approved → onboard the end-user. On Declined → reject. On In Review or Resubmitted → hold + route to your compliance team.

STEP 5 — Multi-brand on one account (reseller pattern)

  When you serve multiple end-customer brands from a single Didit account:

  - Create one workflow per end-customer brand
  - Configure each workflow with the customer's brand style (or use the Style Editor presets per workflow if your account supports it)
  - On POST /v3/session/, pick the workflow_id that matches the end-customer's brand

  The end-customer sees their own brand; you see one consolidated invoice per month. Didit's MCP (Model Context Protocol) server is included free for programmatic per-tenant workflow management.

STEP 6 — Audit + compliance retained

  Swapping the brand does not change the underlying compliance bar. Every session is still:
  - iBeta Level 1 PAD (Presentation Attack Detection) certified on liveness
  - Backed by Spain's Tesoro / SEPBLAC attestation (only EU member-state government attestation of safer-than-in-person verification)
  - Aligned with SOC 2 Type 1 + ISO/IEC 27001 + GDPR (General Data Protection Regulation)
  - Logged with X-Signature-V2 webhook signing on every event
  - Retained 5 years post-relationship by default per the EU Anti-Money-Laundering package; configurable upward per your supervisor's guidance

  Sub-processor disclosure available on request for your DPA (Data Processing Agreement).

WEBHOOK EVENT NAMES
  - Sessions: status changes flow through the standard session webhook.
  - Verify X-Signature-V2 on every payload.

CONSTRAINTS
  - Session statuses use Title Case With Spaces (Approved, In Review). Don't transform them.
  - The white-label add-on is a per-account feature — talk to sales to enable it. Once enabled, the Style Editor + custom-domain pipeline is no-code.
  - Custom domain TLS auto-renews 30 days before expiry. Monitor the cert status in the Console.
  - Some end-user browsers (mobile in-app webviews) constrain custom domains — keep verify.didit.me as a fallback for these edge cases.

Read the docs:
  - https://docs.didit.me/console/white-label
  - https://docs.didit.me/console/workflows
  - https://docs.didit.me/sessions-api/create-session
  - https://docs.didit.me/integration/webhooks

Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
Need more context? See the full module docs.docs.didit.me →
Compliant by design

Open a new country in one click. We do the hard work.

We open the local subsidiaries, secure the licenses, run the penetration tests, earn the certifications, and align with every new regulation. To ship verifications in a new country, flip a toggle. 220+ countries live, audited and pen-tested every quarter — the only identity provider an EU member-state government has formally called safer than in-person verification.
Read the security & compliance dossier
EU financial sandbox
Tesoro · SEPBLAC · BdE
ISO/IEC 27001
Information security · 2026
SOC 2 · Type I
AICPA · 2026
iBeta Level 1 PAD
NIST / NIAP · 2026
GDPR
EU 2016/679
DORA
EU 2022/2554
MiCA
EU 2023/1114
AMLD6 · eIDAS 2.0
EU-aligned by design

Proof numbers

Proof numbers
  • $0.00
    Cost in per check — $0.33 KYC bundle + $0.20 white-label fee. Mark up to your buyer.
  • 0 SDKs
    Web, iOS, Android, React Native, Flutter — all carry the same brand.
  • Per WF
    Include custom style toggle — branded and unbranded workflows on one account.
  • 0
    Free verifications every month, on every account.
Three tiers, one price list

Start free. Pay per usage. Scale to Enterprise.

500 free verifications every month, forever. Pay-as-you-go for production. Custom contracts, data residency, and SLAs (Service Level Agreements) on Enterprise.
Free

Free

$0 / month. No credit card required.

  • Free KYC bundle (ID Verification + Passive Liveness + Face Match + Device & IP Analysis) — 500 / month, every month
  • Blocklisted Users
  • Duplicate Detection
  • 200+ fraud signals on every session
  • Reusable KYC across the Didit network
  • Case Management Platform
  • Workflow Builder
  • Public docs, sandbox, SDKs, MCP (Model Context Protocol) server
  • Community support
Most popular
Pay per usage

Usage Based

Pay only for what you use. 25+ modules. Public per-module pricing, no monthly minimum fee.

  • Full KYC at $0.33 (ID + Biometric + IP / Device)
  • 10,000+ AML datasets — sanctions, PEPs, adverse media
  • 1,000+ government data sources for Database Validation
  • Transaction Monitoring at $0.02 per transaction
  • Live KYB at $2.00 per business
  • Wallet Screening at $0.15 per check
  • Whitelabel verification flow — your brand, our infrastructure
Enterprise

Enterprise

Custom MSA & SLA. For large volumes and regulated programs.

  • Annual contracts
  • Custom MSA, DPA, and SLA
  • Dedicated Slack and WhatsApp channel
  • Manual reviewers on demand
  • Reseller and white-label terms
  • Exclusive features and partner integrations
  • Named CSM, security review, compliance support

Start free → pay only when a check runs → unlock Enterprise for a custom contract, SLA, or data residency.

FAQ

Common questions

Infrastructure for identity and fraud.

One API for KYC, KYB, Transaction Monitoring, and Wallet Screening. Integrate in 5 minutes.

Ask an AI to summarise this page