Skip to main content
Didit 融资 750 万美元,打造身份与欺诈基础设施
Didit
身份钱包 · 欧盟 eIDAS 2.0

一次验证。随处复用。

一次 $0.33 的 KYC 后,即可签发 Didit 签名的凭证。用户可在其他所有 Didit 驱动的平台出示该凭证,并进行选择性披露, 永久免费,符合欧盟身份钱包规则。

投资方
Y CombinatorRobinhood Ventures
GBTC Finance
Bondex
Crnogorski Telekom
UCSF Neuroscape
Shiply
Adelantos

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

一幅电影般的深色抽象合规插画, 在纯黑画布上,四个浮动的半透明深色玻璃面板以3D透视呈现,由一条发光的Didit蓝色垂直线串联,并由四个发光的扫描支架框住。每个面板都带有一个微小的浅白色抽象图案(钱包轮廓、欧盟十二星环、凭证卡、钥匙形状),代表一个持有签名凭证的身份钱包。

可复用身份解锁的价值

身份在用户手中。对所有接受者免费。

每次 Didit KYC 都会向用户钱包发送一份签名的可复用身份凭证。 每个接收平台都可以免费验证并进行选择性披露。 一次验证,所有接受 Didit 的业务均可使用。每月 500 次免费验证。

工作原理

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

  1. 步骤 01

    创建工作流

    选择您需要的检查项, 身份、活体、人脸匹配、制裁名单、地址、年龄、电话、邮箱、自定义问题。在仪表盘中拖拽它们到流程中,或通过我们的 API 发布相同的流程。支持条件分支、A/B 测试,无需代码。

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

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

  4. 步骤 04

    您接收结果

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

专为可复用身份构建 · 基础设施定价

一次 KYC。之后所有平台,免费。

真正的可复用身份并非单一功能,而是一个系统。签发、持有、出示、选择性披露、刷新、撤销。所有这些都在一个 /v3/ 会话中完成。
01 · 一次验证

一次 KYC。一个凭证。

用户首次运行标准的 $0.33 捆绑包。完成后,Didit 会签署凭证并将其推送到 Didit 应用或任何支持架构参考框架的欧盟数字身份钱包。
用户验证模块
02 · 选择性披露

只披露验证者所需信息。

在不透露出生日期的情况下证明年龄超过18岁。在不透露地址的情况下证明国家。选择性披露 JSON Web Tokens (SD-JWT) 确保每次披露都经过加密签名。
可复用 KYC 模块
03 · 钱包互操作性

所有 EUDI 兼容钱包。

Didit 签发的凭证可在 Didit 应用和任何欧盟国家数字身份钱包(如 Cartera Digital、IT Wallet、成员国国家钱包)中使用。所有平台都采用相同的 OpenID for Verifiable Credentials 呈现流程。
下载 Didit 应用
04 · 签发者 · 持有者 · 验证者

三种角色。一个凭证。

签发者在 KYC 后签署凭证。用户将其保存在钱包中。验证者仅验证披露字段上的签发者签名。标准的“可验证凭证信任三角”。
安全与合规
05 · 凭证时效性

凭证时效性,自动更新。

持续的 AML 每天重新筛选用户。证件过期、姓名变更、制裁命中, 所有这些都会自动在凭证上显示。过期的凭证在出示时会被拒绝。
AML 筛选模块
06 · 免费接收

对所有接收平台免费。

每次 KYC 都包含凭证签发。钱包存储在用户设备上。凭证出示、选择性披露和签名验证永久免费。高流量账户的持续 AML 刷新费用为每用户每年 $0.07。
可复用 KYC 模块
集成

一个端点。两条路径。一个 Webhook。

开启会话。托管流程接受已出示的凭证或运行完整的 KYC。无论哪种方式,都可读取签名的结果。
POST /v3/session/接受
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -d '{
    "workflow_id": "wf_accept_reusable",
    "vendor_data": "user-42",
    "metadata": { "request_fields": ["full_name", "age_over_18"] }
  }'
201已创建托管流程检测凭证或运行完整 KYC
出示 Didit 凭证时免费。运行完整 KYC 时 $0.33。文档 →
GET /v3/session/{sessionId}/decision/读取
$ curl https://verification.didit.me/v3/session/$SID/decision/ \
  -H "x-api-key: $DIDIT_API_KEY"

# 返回披露字段 + 签发者链
# 当 reusable_identity.presented 为 true 时。
# 返回完整的 KYC 证据包
# 当执行了新的 KYC 时。
200OK状态:已批准 · 审核中 · 已拒绝 · 已过期
无论凭证是已出示还是 KYC 是新的,证据包都相同。文档 →
代理就绪集成

通过一个提示,实现可复用身份流程。

粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。填写您的技术栈。代理将构建工作流、挂载钱包检测、声明披露字段并连接 webhook。
didit-integration-prompt.md
You are integrating Didit's Reusable Identity / eIDAS 2.0 acceptance into your platform. Two flows:

  1. Issue — when a new user runs a full KYC on your platform, they leave with a Didit-signed Reusable Identity credential in their wallet (the Didit app or any EU Digital Identity Wallet).
  2. Accept — when a user arrives at your platform already holding a Didit-signed credential, the session detects it and short-circuits, returning Approved without re-running the full KYC.

Bundle pricing (verified live 2026-05-16):
  - First verification (issuance side): $0.33 per user (Sessions API full KYC bundle)
  - Issuance: free — the signed credential is included with every KYC
  - Reuse on the verifying side: free, forever
  - Selective disclosure: free
  - Continuous Anti-Money Laundering (AML) refresh: $0.07 per user per year (automatic)
  - First 500 verifications free every month, forever

PRE-REQUISITES
  - Production API key from https://business.didit.me (sandbox key in 60 seconds, no credit card).
  - Webhook endpoint with HMAC SHA-256 verification of the X-Signature-V2 header.
 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.  - A workflow_id from the no-code Workflow Builder with:
    * ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening (for issuance)
    * Reusable Identity acceptance turned on (for acceptance — toggle in the Workflow Builder)
  - Optional: the Didit mobile SDK (iOS / Android / React Native / Flutter) for native deep-link wallet handoff.

STEP 1 — Open a session that accepts a Reusable Identity if presented

  POST https://verification.didit.me/v3/session/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_id": "<wf id with Reusable Identity acceptance on>",
      "vendor_data": "<your user id>",
      "callback": "https://<your-app>/onboarding/callback",
      "metadata": {
        "purpose": "platform_onboarding",
        "request_fields": ["full_name", "age_over_18", "country_of_residence"]
      }
    }

  Optional in body: declare the exact fields you need disclosed via metadata.request_fields. Didit's hosted flow will prompt the user to approve only those specific fields when they present a Reusable Identity credential.

  Response: 201 Created with the hosted session URL. Redirect the user.

STEP 2 — The hosted flow detects (or runs) the verification

  Two paths from this one endpoint:

  Path A — User has a Didit-signed credential
    - The hosted flow detects the credential via a wallet-handoff prompt (universal link on mobile, popup-bridge on desktop)
    - The user approves the disclosure of the requested fields
    - Didit validates the issuer signature + credential freshness server-side
    - Session returns Approved with the disclosed fields populated on the decision payload
    - Cost: $0 on the verifying side

  Path B — User does NOT have a credential
    - The hosted flow runs the full KYC bundle (ID + Liveness + Face Match + Device & IP + AML)
    - At completion, Didit issues a Reusable Identity credential to the user's wallet
    - Session returns Approved with the full decision payload
    - Cost: $0.33 on the verifying-and-issuing side

  Same endpoint, same webhook, same status enum. The path is transparent to your back-end.

STEP 3 — Read the signed webhook

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

  Body (excerpted):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your user id>",
      "status": "Approved",
      "id_verification": { "status": "Approved" },
      "liveness": { "status": "Approved" },
      "face": { "status": "Approved", "similarity_score": 0.94 },
      "ip_analysis": { "status": "Approved" },
      "aml": { "status": "Approved", "hits": [] },
      "reusable_identity": {
        "presented": true,
        "issuer": "<issuing-platform name>",
        "issued_at": "<timestamp>",
        "disclosed_fields": ["full_name", "age_over_18", "country_of_residence"]
      }
    }

  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.

  When reusable_identity.presented is true, the user re-presented an existing credential and the verification was free; when false, a fresh KYC was run and billed at $0.33.

STEP 4 — Retrieve the full decision later

  GET https://verification.didit.me/v3/session/{sessionId}/decision/
  Headers:
    x-api-key: <your api key>

  Returns the full payload including: document scan + extracted Machine-Readable Zone (MRZ) data, biometric similarity, AML hits, device + IP risk signals, 200+ fraud signals, HMAC signature, and (if presented) the credential issuance chain.

  Same evidence pack regardless of issuance vs reuse — the verifier never sees less than a fresh KYC would deliver.

STEP 5 — Continuous AML monitoring is automatic

  Every approved user (issued OR presented) is re-screened daily against 1,300+ sanctions, PEP, and adverse-media lists at $0.07 per user per year on heavy-volume accounts. When a previously-clean user crosses an AML threshold, the credential's AML field is updated automatically; every receiving platform sees the refreshed status on next presentation.

  When the user revokes a credential from their wallet, your receiving platform's webhook fires with status: Expired and the credential is dropped from the user's account.

STEP 6 — Selective disclosure at presentation time

  Pass the exact fields you need via metadata.request_fields at session creation. Recommended minimum-disclosure patterns:

  - Age-gate (UK Online Safety Act, France SREN): ["age_over_18"]
  - Country-gate: ["country_of_residence"]
  - Full name + verified-human: ["full_name", "verified_human"]
  - AML-clear gate (lending): ["aml_clear", "full_name"]
  - Full identity (banking, payments): ["full_name", "date_of_birth", "address", "document_number", "aml_clear"]

  The user sees a single approval prompt listing the requested fields. Anything not listed is never disclosed to your platform.

WEBHOOK EVENT NAMES
  - Sessions: status changes flow through the standard session webhook (verify X-Signature-V2 HMAC SHA-256).
  - Credential lifecycle: status: Expired fires when a holder revokes the credential.

CONSTRAINTS
  - Session statuses use Title Case With Spaces. Don't UPPER_SNAKE_CASE them.
  - Reusable Identity acceptance is OFF by default; turn it on in the Workflow Builder.
  - Selective disclosure is the privacy default — fields not in metadata.request_fields are never returned, even if the credential carries them.
  - Default record retention is 5 years post-relationship per the EU AML package.
  - 200+ fraud signals are evaluated on every session, issued or presented, at no extra cost.

Read the docs:
  - https://docs.didit.me/sessions-api/create-session
  - https://docs.didit.me/sessions-api/retrieve-session
  - https://docs.didit.me/core-technology/reusable-kyc/overview
  - 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.
需要更多上下文?请参阅完整的模块文档。docs.didit.me →
合规性设计

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

我们负责设立当地子公司、获取许可证、进行渗透测试、获得认证,并与所有新法规保持一致。要在新国家/地区发布验证服务,只需轻点开关。已覆盖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
    首次验证费用, 用户仅在首次使用 Didit KYC 套件时付费。
  • Free
    在每个接收平台。每次复用、每次出示、每次选择性披露。
  • 0
    欧盟成员国。Didit 凭证可与基于架构参考框架构建的每个 EUDI 钱包互操作。
  • 0
    每个账户每月免费验证。
三个层级,一份价目表

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

每月 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

常见问题

What is Didit?

Didit is infrastructure for identity and fraud, the platform we wished existed when we were building products ourselves: open, flexible, and developer-friendly, so it works as a real part of your stack instead of a black box you integrate around.

One API covers verifying people (KYC, know your customer), verifying businesses (KYB, know your business), screening crypto wallets (KYT, know your transaction), and monitoring transactions in real time, on a stack built to be:

  • Fast, sub-2-second p99 on every session
  • Reliable, in production with 1,500+ companies across 220+ countries
  • Secure, SOC 2 Type 1, ISO 27001, GDPR-native, and formally attested by Spain's financial regulator as safer than verifying someone in person

The footprint underneath: 14,000+ document types in 48+ languages, 1,000+ data sources, and 200+ fraud signals on every session. The Didit infrastructure dynamically learns from every session and gets better every day.

What is eIDAS 2.0, in plain English?

eIDAS 2.0, short for electronic IDentification, Authentication and trust Services, is the EU's 2024 update to its identity rulebook. The headline change is the European Digital Identity Wallet (often shortened to EUDI Wallet): a smartphone app every EU citizen and resident will be entitled to by the end of 2026.

The wallet holds verifiable credentials, a digital driving licence, a verified-identity attestation, an academic diploma, issued by trusted parties and presented to relying parties with cryptographic proof, optionally with selective disclosure (prove you are over 18 without revealing your full date of birth).

For businesses, eIDAS 2.0 is about both accepting wallet-presented credentials and issuing the credentials your users carry.

Who has to support the EUDI Wallet, and when?

Mandatory acceptance is rolling in by sector:

  • Public services, every EU member state must offer wallet-based identification for tax filing, social security, voting registration by 2026
  • Very Large Online Platforms (VLOPs) under the Digital Services Act, must accept wallet credentials when an identity check is required
  • Banks and payment service providers, wallet acceptance built into the upcoming PSD3 / Payment Services Regulation
  • Telecoms operators, SIM registration, age-restricted services
  • Healthcare and academic credential issuers, voluntary at first, increasing pressure over the decade

Outside the mandatory list, every EU business has the option to issue and accept wallet credentials voluntarily, and most regulated businesses will, because the user experience is dramatically better than re-running a full KYC.

How fast is the verification for my end user?

The full flow normally takes under 30 seconds end-to-end, pick up the ID, snap the document, snap the selfie, done. That is the fastest in the market. Legacy KYC providers usually take more than 90 seconds for the same flow.

On the back end, Didit returns the result in under two seconds at p99, measured from the moment the user finishes the selfie to the moment your webhook fires. Mobile capture is tuned for slow phones and slow networks: progressive image compression, lazy software development kit load, and a one-tap hand-off from desktop to phone via QR code if the user starts on web.

How is reusable identity different from federated login (Sign in with Apple, Google)?

Federated login proves an account exists with the identity provider, the receiving business gets an email address and maybe a name. That is not regulatory-grade identity.

Reusable identity carries:

  • A government-document-grade verification (passport, national identity card scanned and OCR'd)
  • A biometric link to the human presenting the credential (selfie matched to the document portrait)
  • A liveness check that catches deepfakes, masks, replay attacks
  • An AML status screened against sanctions, PEP, and adverse-media lists
  • A signed attestation from a regulated provider, time-stamped, with a verifiable trail

The verifier gets the same regulatory comfort it would get from running its own KYC, without the cost, the friction, and the conversion drop.

What happens if a user fails, abandons, or expires?

Every session lands on one of seven clear statuses, so your code always knows what to do:

  • Approved, every check passed. Move the user forward.
  • Declined, one or more checks failed. You can allow the user to resubmit the specific failed step (for example, re-take the selfie) without re-running the whole flow.
  • In Review, flagged for compliance review. Open the case in the console, see every signal, decide approve or decline.
  • In Progress, user is mid-flow.
  • Not Started, link sent, user has not opened it yet. Send a reminder if it sits too long.
  • Abandoned, user opened the link but did not finish in time. Re-engage or expire.
  • Expired, the session link aged out. Create a new session.

A signed webhook fires on every status change, so your database always stays in sync. Abandoned and declined sessions are free.

Where does my customer data live and how is it protected?

Production data is processed and stored in the European Union by default, on Amazon Web Services. Enterprise contracts can request alternative regions for jurisdictions whose regulators require it.

Encryption everywhere. AES-256 at rest across every database, object store, and backup. Transport Layer Security 1.3 in transit on every API call, webhook, and Business Console session. Biometric data is encrypted under a separate Customer Master Key.

Retention is yours to control. Default retention is indefinite (unlimited) unless you configure shorter, between 30 days and 10 years per application, and you can delete any individual session at any time from the dashboard or the API.

Certifications: SOC 2 Type 1 (Type 2 audit in progress), ISO/IEC 27001:2022, iBeta Level 1 PAD, and a public attestation from Spain''s Tesoro / SEPBLAC / CNMV that Didit''s remote identity verification is safer than verifying someone in person. Full report at /security-compliance.

Is Didit compliant for my industry?

Didit ships compliant by default for the regulators that matter to identity infrastructure:

  • GDPR + UK GDPR, controller / processor split, full Data Processing Agreement published, lead supervisory authority named (Spain''s AEPD).
  • AMLD6 + EU AML Single Rulebook, 1,300+ sanctions, politically exposed person, and adverse-media lists screened in real time.
  • eIDAS 2.0, EU Digital Identity Wallet aligned; reusable-identity ready.
  • MiCA (Markets in Crypto-Assets), ready for crypto on-ramps, exchanges, and custodians.
  • DORA, Digital Operational Resilience Act, EU financial-services operational resilience.
  • BIPA, CUBI, Washington HB 1493, CCPA / CPRA, US biometric privacy (Illinois, Texas, Washington) and California consumer privacy.
  • UK Online Safety Act, age-gating and child-safety obligations.
  • FATF Travel Rule, originator and beneficiary data on crypto transfers, IVMS-101 interoperable.

Detailed memo, every certificate, every regulator letter: /security-compliance.

How fast can I integrate and start verifying users?
  • 60 seconds to a sandbox account at business.didit.me, no credit card.
  • 5 minutes to a working verification through Claude Code, Cursor, or any coding agent via our Model Context Protocol (MCP) server.
  • A weekend to a production-ready integration with signed-webhook verification, retries, and a remediation flow when a user is declined.

Three integration paths, pick whichever fits your stack:

  • Embed natively with our Web, iOS, Android, React Native, or Flutter SDK.
  • Redirect the user to the hosted verification page, zero SDK.
  • Send a link by email, SMS, WhatsApp, or any channel, zero front-end work.

Same dashboard, same billing, same pay-per-success price for all three. Step-by-step guide at docs.didit.me/integration/integration-prompt.

How is the privacy story under GDPR?

Reusable identity is a privacy upgrade on the legacy KYC stack:

  • Selective disclosure is built in, the verifier sees only the fields needed, not the underlying document
  • No central registry, the credential lives in the user's wallet, not on a Didit-owned ledger of who-presented-what-to-whom
  • Per-presentation consent, the user approves each disclosure explicitly
  • EU-resident storage, the issuer-side evidence pack stays in EU data centres; the wallet itself is on the user's device
  • Right to be forgotten, when a user revokes a credential, the receiving platform must drop it from its records under GDPR; Didit's per-platform revocation API makes this one call

The legal basis for processing on the receiving side is legitimate interest under GDPR, the user has explicitly presented a credential to access the service. Didit's standard Data Processing Agreement (DPA) covers the joint-controller relationship.

What if the user changes their identity document or moves country?

Three trigger types:

  • Document renewal (passport expires, new national identity card issued) → the user re-runs a lightweight refresh in the Didit app; the credential is reissued with the new document fingerprint
  • Material identity change (new legal name, gender marker change, country of residence change) → full re-verification at $0.33; the old credential is revoked and a new one issued
  • AML status change (a previously-clean user becomes a PEP or hits a sanctions list) → Didit's continuous monitoring flags the change automatically, the credential's AML field is updated, and every receiving platform sees the refreshed status on next presentation

The receiving platform never has to chase the user for updates, the credential carries its own freshness signal, and stale credentials are rejected at presentation time.

What evidence does a regulator see for a reused verification?

The verifier (the receiving platform) gets the same per-presentation evidence pack the original verifier got, plus the chain of issuance:

  • The original KYC evidence, document scan, biometric similarity, AML hits, device + IP risk signals, signed timestamps
  • The issuance chain, which Didit-powered platform issued the credential, when, on which workflow
  • The presentation log, when this user presented to your platform, which fields they disclosed, your verifier's verdict
  • The current AML status, refreshed daily by Didit's continuous monitoring
  • The HMAC SHA-256 signature on every field, so chain-of-custody is provable

Didit is the only KYC provider with a formal EU member-state government attestation, Spain's Treasury, Banco de España, and SEPBLAC jointly attested the service as safer than in-person verification. That attestation extends to every reused presentation.

身份与欺诈基础设施。

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

让 AI 总结此页面