跳到主要内容
Didit 融资 750 万美元,打造身份与欺诈基础设施
Didit
邮箱验证

验证任意邮箱
注册时拦截虚假地址。

在虚假、一次性或泄露的邮箱地址进入您的数据库之前将其拦截。一次调用即可覆盖语法、可送达性、提供商情报和六位 OTP(一次性密码)。每次检查 $0.03,每月 500 次免费。

投资方
Y CombinatorRobinhood Ventures
Firecrawl
Slash
Crnogorski Telekom
UCSF Neuroscape
Bit2Me
Shiply

全球2,000多家组织信赖。

Didit 邮箱验证, 实时语法、MX 和一次性域名检查。

不止于语法

MX、一次性、角色、
和风险评分。

我们实时测试送达率,标记一次性邮箱和角色邮箱,并返回一个 风险评分,供您的工作流进行分支判断。每次检查 $0.03。

工作原理

从注册到验证用户,仅需四步。

  1. 步骤 01

    创建工作流

    选择您需要的检查项, 身份、活体、人脸比对、制裁名单、地址、年龄、电话、邮箱、自定义问题。在控制台中将它们拖入工作流,或通过我们的 API 发布相同的工作流。根据条件进行分支,运行 A/B 测试,无需代码。

  2. 步骤 02

    集成

    通过我们的 Web、iOS、Android、React Native 或 Flutter SDK 进行原生嵌入。重定向到托管页面。或者直接向您的用户发送链接, 通过电子邮件、短信、WhatsApp,任何地方。选择适合您技术栈的方式。

  3. 步骤 03

    用户完成流程

    Didit 负责托管摄像头、灯光提示、移动端切换和辅助功能。当用户在流程中时,我们实时评估 200 多个欺诈信号,并根据权威数据源验证每个字段。两秒内即可获得结果。

  4. 步骤 04

    您接收结果

    实时签名 Webhook 可确保用户批准、拒绝或发送审核后,您的数据库立即同步。按需轮询 API。或者打开控制台检查每个会话、每个信号,并按您的方式管理案例。

专为开发者打造 · 专为防欺诈而生 · 开放式设计

六项功能。一个功能标志。EMAIL_VERIFICATION

每个功能都是同一模块上的一个开关。没有升级套餐,没有单独计划,没有附加调用。在控制台中按工作流开启,或在 API 调用中内联传递。
01 · 送达率

语法、邮件记录和实时探测, 每次调用都包含。

我们解析语法,查找 MX (邮件交换) 记录,并与目标服务器建立连接以确认地址可达。响应包含一个清晰的布尔值,您的工作流可以据此进行分支判断。
可送达性堆栈alex.sample@flytap.com
  • RFC 5322 语法本地部分 + 域名解析
  • MX 查询1 条记录 · 10 毫秒
  • SMTP 探测250 OK · 接受邮件
不可送达false
02 · 提供商智能

一次性邮箱。免费邮箱。在源头拦截。

最新的一次性服务(10minutemail, mailinator, guerrilla)、免费提供商(Gmail, Outlook, Yahoo, ProtonMail)和新兴的掩码服务目录。每个标签都映射到您可以根据应用程序调整的拒绝、审核或批准操作。
03 · 泄露风险

了解邮箱是否泄露。在用户注册前。

每个地址都会对照聚合的泄露数据库进行检查。响应列出了该地址出现的所有泄露事件, 姓名、泄露日期、暴露的数据类别, 以便您的合规团队为 AML (反洗钱) 记录保存提供证据链。
04 · OTP 确认

六位验证码。五分钟有效期。本地化模板。

使用我们托管的输入界面或您自己的表单。每个会话两次尝试,每 24 小时两次重发,五分钟有效期, 所有限制均为您强制执行。模板会自动本地化为用户的首选语言。
05 · 反滥用

全收件箱检测。基于角色的过滤。跨会话重复。

可配置的警告会显示所有滥用模式:泄露、一次性、跨会话重复或被列入黑名单。两个自动拒绝(尝试次数过多、地址无法送达)无论政策如何都会强制执行。在代码发送之前,就能捕获所有和基于角色的地址。
风险策略5 条警告 · 3 项操作
  • EMAIL_CODE_ATTEMPTS_EXCEEDED自动拒绝
  • EMAIL_IN_BLOCKLIST自动拒绝
  • DISPOSABLE_EMAIL_DETECTED拒绝
  • BREACHED_EMAIL_DETECTED审核
  • DUPLICATED_EMAIL审核
06 · 定价

每次检查 $0.03。每月免费 500 次。永久有效。

托管流程和独立 API 均收取 $0.03 的相同价格。无平台费,无每月最低消费,无超额费用。在 $0.33 的完整 KYC (了解您的客户) 检查之前,串联邮箱验证,以过滤掉垃圾注册,避免浪费信用额度。
计费公开 · 按次检查
按次检查
$0.03
路径 A 或 路径 B
免费套餐
500/mo
永久免费,无需信用卡
  • 无最低消费按成功次数付费
  • 链接至 KYC+$0.33 捆绑包
集成

两个端点。相同的 JSON。相同的价格。

当您希望我们处理代码输入并将其链接到更广泛的工作流时,选择托管流程。当您拥有 UI 时,选择独立的 API。两者都返回相同的报告。
POST /v3/session/托管 UI
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "wf_email_check",
    "vendor_data": "user-42"
  }'
201已创建{ "session_url": "verify.didit.me/..." }
我们托管 OTP 输入屏幕,并将其串联到您的工作流程中。文档 →
POST /v3/email/check/服务器到服务器
$ curl -X POST https://verification.didit.me/v3/email/check/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference_id": "ref_8a2c",
    "code": "482913"
  }'
200确定{ "status": "Approved", "is_breached": true }
您拥有 OTP UI。先调用 /email/send/,然后调用 /email/check/。文档 →
代理就绪集成

一键部署邮件验证。

将以下代码块粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。填写您的技术栈。代理将配置 Didit,创建邮件验证工作流程,连接 webhook,并完成部署。
didit-integration-prompt.md
# Didit Email Verification — integrate in 5 minutes

You are integrating Didit's Email Verification module into <my_stack>.
Follow these steps exactly. Every URL, header, and enum value below is
canonical — do not paraphrase or "improve" them. The module covers:
syntax validation, MX (Mail Exchange) lookup, SMTP (Simple Mail Transfer
Protocol) deliverability probe, disposable-provider detection,
free-provider detection, breach exposure lookup (HaveIBeenPwned-style),
catch-all + role-based anti-abuse signals, OTP (one-time password)
confirmation, and a configurable risk policy that can chain straight
into a Know Your Customer (KYC) (know your customer) workflow.

## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Or provision programmatically: POST https://apx.didit.me/auth/v2/programmatic/register/
  (returns an API key bound to the workspace + application).

## 2. Two integration paths — pick one

### Path A — Workflow Builder (hosted UI)
Best when you want Didit to host the OTP entry screen, localize the
email template, handle resend cool-downs, and chain Email Verification
into a wider KYC / KYB workflow.

1. Create a workflow that contains the EMAIL_VERIFICATION feature:
   POST https://verification.didit.me/v3/workflows/
   Authorization header:  x-api-key: <your-api-key>
   Body: workflow_label, features array with the single entry
         { feature: "EMAIL_VERIFICATION" }   (UPPERCASE — strict enum)
   Optional config: per-warning action overrides (Decline / Review /
   Approve) for BREACHED_EMAIL_DETECTED, DISPOSABLE_EMAIL_DETECTED,
   DUPLICATED_EMAIL, and EMAIL_IN_BLOCKLIST.

2. Create a verification session for an end user:
   POST https://verification.didit.me/v3/session/
   Body: workflow_id (from step 1), vendor_data (your own user id),
   optional contact_details.email (pre-fills the OTP step).
   Response: session_url — redirect the user to it.

3. Listen for webhook callbacks (see "Webhooks" below).

### Path B — Standalone server-to-server API
Best when you already own the OTP UI and just want Didit to send and
validate the code plus return the risk signals.

Two endpoints, both authenticated with x-api-key:

POST https://verification.didit.me/v3/email/send/
Body (application/json):
  - email        (required, string — RFC 5322 address)
  - language     (optional, ISO 639-1 code — picks the email template)
  - vendor_data  (optional string, your user id)
Returns: { reference_id }

POST https://verification.didit.me/v3/email/check/
Body (application/json):
  - reference_id (required, from /email/send/)
  - code         (required, 6-digit string the user typed)
Returns: the full email-verification report (see Section 4).

Use the same vendor_data on retries so cross-session matches work.

## 3. Webhooks (Path A only — Path B returns synchronously)
- Register a webhook destination once via
  POST https://verification.didit.me/v3/webhook/destinations/
  Body: url, subscribed_events: ["session.verified",
                                  "session.review_started",
                                  "session.declined"]
- Response includes secret_shared_key — store it.
- Every webhook delivery carries an X-Signature-V2 header you MUST verify
  before trusting the payload.  HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature.Algorithm:
    1. sortKeys(payload) recursively
    2. shortenFloats (truncate trailing zeros after the decimal point)
    3. JSON.stringify the result
    4. HMAC-SHA256 with the secret_shared_key
    5. Hex-encode, compare to the X-Signature-V2 header.

Two module-level event types fire alongside the session events above:
- EMAIL_VERIFICATION_MESSAGE_SENT — OTP was dispatched
- EMAIL_VERIFICATION_DECLINED      — verification finished with a
                                     Declined status (caller should
                                     surface the warning to the user)

## 4. Reading the report (both paths return the same shape)
The email object includes:
- status: "Approved" | "Declined" | "In Review" | "Not Finished"
- email: the address that was verified
- is_breached: boolean — true when the address appears in known breaches
- breaches: array of { name, domain, logo_path, breach_date,
                       description, is_verified, data_classes,
                       breach_emails_count }
- is_disposable: boolean — true for throwaway providers
- is_undeliverable: boolean — true when MX + SMTP probe failed
- verification_attempts: number — OTP attempts used (max 2)
- verified_at: ISO 8601 timestamp
- matches: array of cross-session hits, each carrying session_id,
           session_number, vendor_data, verification_date, email,
           status, is_blocklisted
- warnings: Array<{ risk, additional_data, log_type,
                    short_description, long_description }>

Auto-decline risks (always enforced by Didit, not configurable):
- EMAIL_CODE_ATTEMPTS_EXCEEDED
- EMAIL_IN_BLOCKLIST
- UNDELIVERABLE_EMAIL_DETECTED

Configurable risks (action per workflow — Decline, Review, or Approve):
- BREACHED_EMAIL_DETECTED       (exposure / breach intelligence)
- DISPOSABLE_EMAIL_DETECTED     (temporary / throwaway provider)
- DUPLICATED_EMAIL              (cross-session match on another user)

Anti-abuse limits (enforced server-side):
- Code Entry Attempts: max 2 tries to type the right OTP
- Code Resend Requests: max 2 resends per 24 hours
- Code Validity: 5 minutes from delivery

## 5. Chaining Email Verification into a KYC flow
EMAIL_VERIFICATION is a regular feature inside the Workflow Builder, so
it composes with any of the 25+ other modules. The canonical patterns:

- Cheap pre-filter: gate KYC behind Email Verification so disposable +
  breached + undeliverable signups never burn a $0.33 KYC bundle. Use a
  conditional branch — if status is Declined on email, skip
  ID_VERIFICATION + LIVENESS + FACE_MATCH.
- Compliance log: keep Email Verification in the flow even when KYC is
  the primary check, so the verified email is timestamped and signed
  alongside the ID Verification report for Anti-Money Laundering (AML) (anti-money laundering)
  recordkeeping.
- Step-up auth: rerun Email Verification at a sensitive action (large
  withdrawal, password reset) using the same workflow + vendor_data
  for closed-loop continuity.

## 6. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: EMAIL_VERIFICATION, ID_VERIFICATION,
  LIVENESS, FACE_MATCH, AML, IP_ANALYSIS, PHONE_VERIFICATION.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Always verify webhook signatures before trusting payload data.
- Status casing matches exactly: "Approved", "Declined", "In Review",
  "Not Finished" (title-cased, space-separated).

## 7. Pricing reference (public)
- Email Verification: $0.03 per check (Path A or Path B).
- Bundled inside a full KYC workflow: same $0.03 add-on — the $0.33
  full-KYC bundle does not include EMAIL_VERIFICATION by default.
- 500 free checks every month, forever, on every account.

## 8. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test emails: deterministic synthetic addresses returned in sandbox
  (Approved by default; trigger Declined by sending the canonical
  disposable / breached test addresses listed in the docs).
- Switch to live: flip the application's environment toggle in console.

When in doubt: https://docs.didit.me/core-technology/email-verification/overview
合规性设计

一键开启新国家/地区业务。 我们为您解决难题。

我们负责设立当地子公司、获取许可证、进行渗透测试、获得认证,并与所有新法规保持一致。要在新国家/地区发布验证服务,只需轻点开关。已覆盖220多个国家/地区,每个季度进行审计和渗透测试, 是唯一一个被欧盟成员国政府正式认定比线下验证更安全的身份提供商。
阅读安全与合规性档案
欧盟金融沙盒
Tesoro · SEPBLAC · BdE
ISO/IEC 27001
信息安全 · 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
原生符合欧盟标准

数据证明

数据证明
  • $0.00
    每次检查, 托管流程或独立 API 价格相同。
  • 0
    每个账户每月永久免费邮件验证。
  • 0 min
    一次性验证码有效期, 所有限制均为您强制执行。
  • 0
    可配置警告代码,外加 3 种强制自动拒绝。
三个层级,一份价目表

免费开始。按使用量付费。可扩展至企业级。

每月 500 次免费验证,永久有效。生产环境按量付费。企业版提供定制合约、数据驻留和 SLA (Service Level Agreements)。
免费

免费

每月 $0。无需信用卡。

  • 免费 KYC 套件(身份验证 + 被动活体检测 + 人脸匹配 + 设备与 IP 分析), 每月 500 次,永久有效
  • 黑名单用户
  • 重复检测
  • 每次会话 200+ 欺诈信号
  • Didit 网络中可重复使用的 KYC
  • 案件管理平台
  • 工作流构建器
  • 公开文档、沙盒、SDK、MCP(模型上下文协议)服务器
  • 社区支持
最受欢迎
按用量付费

按用量计费

按实际用量付费。25+模块。公开的模块定价,无每月最低费用。

  • 完整KYC $0.33(身份+生物识别+IP/设备)
  • 10,000+ AML数据集, 制裁、PEP、负面媒体
  • 1,000+ 政府数据源用于数据库验证
  • 交易监控 $0.02/笔交易
  • 实时KYB $2.00/家企业
  • 钱包筛选 $0.15/次检查
  • 白标验证流程, 您的品牌,我们的基础设施
企业版

企业版

定制MSA和SLA。适用于大批量和受监管项目。

  • 年度合同
  • 定制MSA、DPA和SLA
  • 专属Slack和WhatsApp频道
  • 按需人工审核员
  • 经销商和白标条款
  • 独家功能和合作伙伴集成
  • 指定CSM、安全审查、合规支持

免费开始 → 仅在检查运行时付费 → 解锁企业版以获取定制合约、SLA 或数据驻留。

FAQ

常见问题

Didit是什么?

Didit是身份和欺诈基础设施, 是我们自己构建产品时希望存在的平台:开放、灵活且对开发者友好,因此它能真正融入您的技术栈,而不是一个需要您围绕其集成的黑盒。

一个API涵盖了验证个人(KYC了解您的客户)、验证企业(KYB了解您的业务)、筛选加密钱包(KYT了解您的交易)以及实时监控交易, 构建在以下技术栈之上:

  • 快速, 每个会话p99低于2秒
  • 可靠, 已在220多个国家1,500多家公司投入生产
  • 安全, SOC 2 Type 1、ISO 27001、GDPR原生,并获得西班牙金融监管机构的正式证明,比亲自验证更安全

底层支持:14,000多种文档类型,支持48种以上语言1,000多个数据源,每个会话200多个欺诈信号。Didit基础设施从每个会话中动态学习,并日益完善。

Didit会运行哪些电子邮件检查?
每次调用执行八项检查,所有结果在一个JSON对象中返回。RFC 5322语法解析、实时邮件交换(MX)记录查找、实时简单邮件传输协议(SMTP)可送达性探测、一次性提供商检测(10minutemail、mailinator、guerrilla、掩码服务)、免费提供商标记(Gmail、Outlook、Yahoo、ProtonMail)、已知泄露事件的泄露风险(HaveIBeenPwned式聚合覆盖)、与您历史会话的跨会话重复匹配,以及针对您手动标记的地址进行黑名单检查。每项检查都以布尔值(is_disposableis_breachedis_undeliverable)形式呈现,并在warnings数组下附带类型化警告。
响应格式是怎样的?
一个email对象,包含statusApprovedDeclinedIn ReviewNot Finished)、已验证的emailis_breached、一个breaches数组(每个条目:namedomainlogo_pathbreach_datedescriptionis_verifieddata_classesbreach_emails_count)、is_disposableis_undeliverableverification_attemptsverified_at(ISO 8601)、一个matches数组,包含跨会话匹配项,其中有session_id / vendor_data / verification_date / is_blocklisted,以及一个warnings数组(每个条目:riskadditional_datalog_typeshort_descriptionlong_description)。路径A(工作流)和路径B(独立)的格式相同。
我的终端用户验证速度有多快?

整个流程通常在30秒内完成, 拿起身份证件,拍摄证件,自拍,搞定。这是市场上最快的速度。传统的KYC提供商完成同样流程通常需要90秒以上

在后端,从用户完成自拍到您的webhook触发,Didit在p99下两秒内返回结果。移动端捕获针对慢速手机和慢速网络进行了优化:渐进式图像压缩、延迟加载SDK,以及如果用户从网页端开始,可通过二维码一键从桌面端切换到手机端。

Didit如何捕获欺诈和滥用行为?
五层防护。 (1) EMAIL_CODE_ATTEMPTS_EXCEEDEDEMAIL_IN_BLOCKLISTUNDELIVERABLE_EMAIL_DETECTED进行硬性自动拒绝, 无论如何都在服务器端强制执行。(2) BREACHED_EMAIL_DETECTEDDISPOSABLE_EMAIL_DETECTEDDUPLICATED_EMAIL进行可配置的拒绝/审查/批准。(3) SMTP探测中的全方位和基于角色的检测, 在OTP发送之前进行标记。(4) 重发速率限制为每24小时2次,验证码输入尝试次数上限为2次, 均按会话计算。(5) 跨会话matches数组,显示在不同vendor_data中重复使用的相同电子邮件,从而防止重复账户农场。
如果用户失败、放弃或过期,会发生什么?

每个会话都会落入七种明确状态之一,因此您的代码始终知道如何处理:

  • Approved, 所有检查通过。让用户继续。
  • Declined, 一项或多项检查失败。您可以允许用户重新提交特定失败步骤(例如,重新自拍),而无需重新运行整个流程。
  • In Review, 标记为合规审查。在控制台中打开案例,查看所有信号,决定批准或拒绝。
  • In Progress, 用户正在进行中。
  • Not Started, 链接已发送,用户尚未打开。如果长时间未打开,发送提醒。
  • Abandoned, 用户打开了链接但未及时完成。重新激活或使其过期。
  • Expired, 会话链接已过期。创建新会话。

每次状态更改都会触发一个带签名的webhook,因此您的数据库始终保持同步。放弃和拒绝的会话是免费的。

我的客户数据存储在哪里,如何受到保护?

生产数据默认在欧盟的Amazon Web Services上处理和存储。企业合同可根据监管要求申请其他区域。

全面加密。 所有数据库、对象存储和备份均采用AES-256静态加密。所有API调用、webhook和业务控制台会话均采用传输层安全协议1.3进行传输加密。生物识别数据使用单独的客户主密钥加密。

保留期限由您控制。 默认保留期限为无限期(无限制),除非您配置更短的期限, 每个应用程序可在30天到10年之间选择, 您可以随时通过仪表板或API删除任何单个会话。

认证:SOC 2 Type 1(Type 2审计进行中)、ISO/IEC 27001:2022iBeta Level 1 PAD,以及西班牙Tesoro / SEPBLAC / CNMV的公开证明,表明Didit的远程身份验证比亲自验证更安全。完整报告请访问/security-compliance

Didit 是否符合我所在行业的合规要求?

Didit 默认符合身份基础设施相关监管机构的合规要求:

  • GDPR + UK GDPR, 控制者/处理者分离,发布完整的《数据处理协议》,指定主要监管机构(西班牙数据保护局 AEPD)。
  • AMLD6 + 欧盟 AML 单一规则手册, 实时筛选 1,300 多个制裁、政治公众人物和负面媒体名单。
  • eIDAS 2.0, 符合欧盟数字身份钱包标准;支持可复用身份。
  • MiCA (Markets in Crypto-Assets), 适用于加密货币入口、交易所和托管机构。
  • DORA, 《数字运营韧性法案》,欧盟金融服务运营韧性。
  • BIPA, CUBI, Washington HB 1493, CCPA / CPRA, 美国生物识别隐私(伊利诺伊州、德克萨斯州、华盛顿州)和加利福尼亚州消费者隐私。
  • UK Online Safety Act, 年龄门控和儿童安全义务。
  • FATF Travel Rule, 加密货币转账的发起人和受益人数据,IVMS-101 互操作。

详细备忘录、所有证书、所有监管机构函件:/security-compliance

我能多快完成集成并开始验证用户?
  • 60 即可在 business.didit.me 获得沙盒账户, 无需信用卡。
  • 5 分钟即可通过 Claude Code、Cursor 或任何编码代理,通过我们的模型上下文协议 (MCP) 服务器完成工作验证。
  • 一个周末即可完成生产就绪的集成,包括签名 webhook 验证、重试和用户被拒绝时的补救流程。

三种集成路径, 选择最适合您技术栈的方式:

  • 使用我们的 Web、iOS、Android、React Native Flutter SDK 原生嵌入
  • 将用户重定向到托管验证页面, 无需 SDK。
  • 通过电子邮件、短信、WhatsApp 或任何渠道发送链接, 无需前端工作。

所有三种方式都使用相同的仪表板、相同的计费和相同的按成功付费价格。分步指南请访问 docs.didit.me/integration/integration-prompt

身份与欺诈基础设施。

一个 API 即可实现 KYC、KYB、交易监控和钱包筛选。5 分钟即可集成。

让 AI 总结此页面