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


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

$0.15 per check
每次检查 $0.15 筛选钱包,或在 Didit 内部运行您自己的筛选服务商, 统一的案件队列和审计追踪。
选择您需要的检查项, 身份、活体、人脸匹配、制裁、地址、年龄、电话、电子邮件、自定义问题。在仪表盘中拖拽到工作流,或通过我们的 API 发布相同的工作流。根据条件分支、运行 A/B 测试,无需代码。
通过我们的 Web、iOS、Android、React Native 或 Flutter SDK 进行原生嵌入。重定向到托管页面。或者直接通过电子邮件、短信、WhatsApp 等任何方式向用户发送链接。选择适合您技术栈的方式。
Didit 负责托管摄像头、灯光提示、移动设备切换和辅助功能。在用户进行流程时,我们实时评估 200 多个欺诈信号,并根据权威数据源验证每个字段。两秒内出结果。
实时签名的 Webhook 可确保用户批准、拒绝或发送审核后,您的数据库立即同步。按需轮询 API。或者打开控制台检查每个会话、每个信号,并按您的方式管理案件。
$ curl -X POST https://verification.didit.me/v3/transactions/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"wallet_address": "0xRecipient...",
"currency": "ETH",
"direction": "OUTBOUND"
}'{ "risk_score": 87, "severity": "CRITICAL" }// Your endpoint receives a signed wallet-screening result
app.post("/webhooks/didit", (req, res) => {
const sig = req.headers["x-signature-v2"];
const expected = crypto.createHmac("sha256", SECRET)
.update(req.rawBody).digest("hex");
if (sig !== expected) return res.sendStatus(401);
const { status, decision, txn_id } = req.body;
// status: APPROVED | IN_REVIEW | DECLINED | AWAITING_USER
res.sendStatus(200);
});{ webhook_type: "transaction.status.updated", status: "APPROVED" }# Didit Wallet Screening (KYT) — integrate in 5 minutes
You are integrating Didit's Wallet Screening / Know Your Transaction (KYT)
module into <my_stack>. Follow these steps exactly. Every URL, header,
and enum value below is canonical — do not paraphrase or "improve" them.
Wallet Screening produces a standardised risk payload regardless of
which underlying provider sits behind it:
- Risk score 0-100 + severity (LOW, MEDIUM, HIGH, CRITICAL)
- Source of funds breakdown across 14+ categories
- Exposure table (counterparty entities, direct vs indirect hops)
- Network graph metrics
- Sanctions / darknet / mixer flags as discrete signals
## 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/
## 2. Choose a screening source
- Wallet Screening runs at $0.15 per check on Didit's own on-chain
risk data — nothing to configure, it works out of the box.
- Or bring your own screening provider and run it inside Didit: open
Transactions > Settings > Provider Preferences in the Business
Console (https://business.didit.me) and paste your existing
provider API key. The screening result payload is identical
whichever source you use.
## 3. Two integration paths — pick one
### Path A — Workflow / Transactions API (recommended)
Best when you want Wallet Screening chained into the Transaction
Monitoring rules engine so flagged transactions automatically generate
review cases.
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your-api-key>
Content-Type: application/json
Body (outbound pre-transfer screen, screens the destination wallet):
{
"transaction_id": "withdrawal-001",
"transaction_category": "finance",
"include_crypto_screening": true,
"transaction_details": {
"direction": "OUTBOUND",
"amount": "0.25",
"currency": "ETH",
"currency_kind": "crypto",
"action_type": "withdrawal"
},
"subject": {
"entity_type": "individual",
"vendor_data": "user-123",
"full_name": "John Doe"
},
"counterparty": {
"entity_type": "unhosted_wallet",
"full_name": "John Doe",
"payment_method": {
"method_type": "crypto_wallet",
"account_id": "0xRecipientWallet..."
}
}
}
Direction rules — required:
- INBOUND pre-transfer -> screens counterparty.payment_method.account_id
- INBOUND post-transfer -> screens the tx hash scoped to subject.payment_method.account_id
- OUTBOUND pre-transfer -> screens counterparty.payment_method.account_id
- OUTBOUND post-transfer -> screens the tx hash scoped to counterparty.payment_method.account_id
For post-transfer screening, also include
transaction_details.payment_reference_id -> the blockchain tx hash
### Path B — Standalone wallet-screening API
Best when you want a one-off wallet-risk lookup without writing a full
transaction. Same screening source, same $0.15 per check price.
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your-api-key>
Content-Type: application/json
Body:
{
"wallet_address": "0xRecipientWallet...",
"currency": "ETH",
"direction": "OUTBOUND"
}
Synchronous JSON response — no webhook required for the standalone call.
Use Path A whenever the screening result needs to flow into the rules
engine, case management, or the auto-remediation loop.
## 4. Webhooks
Register one webhook destination per workspace:
POST https://verification.didit.me/v3/webhook/destinations/
Body: { "url": "https://yourapp.com/didit/webhooks",
"events": ["transaction.status.updated"] }
Every delivery carries an X-Signature-V2 Hash-based Message Authentication
Code (HMAC) 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.Verify it before trusting the payload:
signature = hmac_sha256(secret, raw_body).hex()
if signature != request.headers["X-Signature-V2"]:
return 401
## 5. Reading the result
Every screening returns a standardised risk object:
- risk_score (0-100, higher = more exposure)
- severity ("LOW", "MEDIUM", "HIGH", "CRITICAL")
- source_of_funds (array of { category, percentage })
- exposure (array of { entity, hop_distance, received, sent, risk })
- flags (array including "sanctioned", "darknet_market", "mixer",
"ransomware", "child_exploitation", "scam", and others)
- network_graph (nodes, edges, centrality, depth)
Feed flagged transactions into the Transaction Monitoring rules engine
so high-risk hits automatically generate cases at the published
$0.02 per transaction inspection rate.
## 6. Travel Rule (FATF Recommendation 16)
For Virtual Asset Service Provider (VASP) to VASP transfers, include
the Travel Rule payload alongside the transaction body:
"travel_rule": {
"originator_vasp": {...},
"beneficiary_vasp": {...},
"originator": { "full_name", "date_of_birth", ... },
"beneficiary": { "full_name", "wallet_address" }
}
Didit handles the structured-message exchange with supported counterparty
VASPs. Reference: https://docs.didit.me/transaction-monitoring/travel-rule
## 7. Hard rules — do not change
- Base URL stays https://verification.didit.me (NOT apx.didit.me).
- Auth header stays x-api-key (lowercase, hyphenated).
- Webhook signature header stays X-Signature-V2 (NOT X-Signature).
- currency_kind is always "crypto" for wallet screening.
- direction is always UPPERCASE ("INBOUND" or "OUTBOUND").
- severity casing stays UPPERCASE: LOW, MEDIUM, HIGH, CRITICAL.
## 8. Pricing reference
- $0.15 per wallet screening on Didit's own on-chain risk data — or
bring your own screening provider and run it inside Didit.
- $0.02 per transaction inspected by the Transaction Monitoring rule
engine. AML on flagged transactions at $0.20 per check.
- 500 free verifications every month on every account, forever.
- No minimums, no contracts. Volume discounts above 100k screenings
per month — see https://didit.me/pricing.
## 9. Verify your integration
1. Create a sandbox API key at https://business.didit.me.
2. Post the example outbound transaction above against a known-flagged
tutorial wallet — the response should have severity "CRITICAL" and
carry a "sanctioned" flag.
3. Confirm the webhook fires with transaction.status.updated and the
X-Signature-V2 header verifies cleanly.
4. Open Case Management in the console — the transaction should land
in the queue with source PROVIDER and severity CRITICAL.
Done. Wallet Screening is live. Reach out to support@didit.me with the
workspace id if you hit a wall.每月 $0。无需信用卡。
按实际用量付费。25+模块。公开的模块定价,无每月最低费用。
定制MSA和SLA。适用于大批量和受监管项目。
免费开始 → 仅在检查运行时付费 → 解锁企业版以获取定制合约、SLA 或数据驻留。
Didit 是身份和欺诈基础设施, 一个我们自己在开发产品时曾梦想拥有的平台:开放、灵活、对开发者友好,能真正融入您的技术栈,而非一个需要您围绕其进行集成的黑盒。
一个 API 即可覆盖个人验证(KYC,了解您的客户)、企业验证(KYB,了解您的业务)、加密钱包筛查(KYT,了解您的交易)以及实时交易监控, 其技术栈具备以下特点:
底层支持:14,000 多种文档类型,支持 48 种以上语言,1,000 多个数据源,以及每次会话的 200 多个欺诈信号。Didit 基础设施通过每次会话动态学习,并日益完善。
钱包筛查, 也称为了解您的交易 (KYT), 用于评估加密钱包地址或交易哈希的链上风险。制裁风险、暗网市场、勒索软件钱包、混币器、被盗资金交易对手、诈骗钱包、恐怖主义融资, 这些风险会以风险评分、严重性等级、资金来源细分和离散标记的形式呈现,您可以据此进行实时路由。
在 Didit 内部端到端筛查,每次检查仅需 $0.15, 或者接入您自己的筛查服务商,并在 Didit 内部通过相同的 `/v3/` 应用程序编程接口 (API) 契约运行,实现统一的案件处理和审计。
完整参考文档:docs.didit.me/core-technology/wallet-screening/overview。
在 Didit 内部端到端筛查,每次检查仅需 $0.15, 公开透明的价格,无需管理单独的分析合同。
如果您已有偏好的筛查服务商,可以接入您自己的筛查服务商,并在 Didit 内部运行, 将您的服务商密钥粘贴到业务控制台,Didit 每次派发的筛查都将使用您的密钥,并计入您现有的服务商合同。
无最低消费,无合同,无超额费用惊喜。在 Transactions → Settings → Provider Preferences 中,您可以按工作区切换模式。
整个流程通常在 30 秒内端到端完成, 拿起身份证件,拍摄证件,拍摄自拍,完成。这是市场上最快的速度。传统的 KYC 服务商完成相同流程通常需要超过 90 秒。
在后端,Didit 在用户完成自拍到您的 webhook 触发的 p99 时间内,两秒内返回结果。移动端捕获针对慢速手机和慢速网络进行了优化:渐进式图像压缩、延迟加载软件开发工具包,以及用户从网页端开始时,通过二维码一键从桌面端切换到手机端。
无论后端连接哪个服务商,都提供标准化的负载。
risk_score, 0–100,分数越高表示风险敞口越大。severity, LOW(低)、MEDIUM(中)、HIGH(高)、CRITICAL(严重)。source_of_funds, 14 种以上类别的细分(受制裁钱包、恐怖主义融资、儿童剥削、勒索软件、被盗资金、暗网市场、混币器、诈骗、高风险交易所、赌博、受监管交易所、点对点交易、未识别服务)。exposure, 交易对手实体,包括直接与间接跳数,以及接收和发送的金额。network_graph, 中心性和深度指标。flags, 离散信号,如 sanctioned(受制裁)、darknet_market(暗网市场)、mixer(混币器)、ransomware(勒索软件)。交易监控响应中也会包含相同的结构。
每个会话都会落入七种明确状态之一,因此您的代码始终知道如何处理:
Approved, 所有检查通过。让用户继续。Declined, 一项或多项检查失败。您可以允许用户重新提交特定的失败步骤(例如,重新拍摄自拍),而无需重新运行整个流程。In Review, 标记为合规审查。在控制台中打开案例,查看所有信号,决定批准或拒绝。In Progress, 用户正在进行流程中。Not Started, 链接已发送,用户尚未打开。如果长时间未打开,发送提醒。Abandoned, 用户打开了链接但未及时完成。重新激活或使其过期。Expired, 会话链接已过期。创建新会话。每次状态变更都会触发一个签名的 webhook,因此您的数据库始终保持同步。放弃和拒绝的会话是免费的。
生产数据默认在欧盟由 Amazon Web Services 处理和存储。企业合同可根据监管机构要求,申请在其他区域存储。
全面加密。所有数据库、对象存储和备份中的静态数据均采用 AES-256 加密。所有 API 调用、webhook 和业务控制台会话中的传输数据均采用传输层安全协议 1.3 (TLS 1.3) 加密。生物识别数据使用单独的客户主密钥加密。
保留期限由您控制。默认保留期限为无限期(无限制),除非您配置更短的期限, 每个应用程序可在 30 天到 10 年之间, 您可以随时从仪表板或 API 删除任何单个会话。
认证:SOC 2 Type 1(Type 2 审计进行中)、ISO/IEC 27001:2022、iBeta Level 1 PAD,以及来自西班牙 Tesoro / SEPBLAC / CNMV 的公开认证,证明 Didit 的远程身份验证比线下人工验证更安全。完整报告请访问 /security-compliance。
Didit 默认符合对身份基础设施至关重要的监管机构要求:
详细备忘录、所有证书、所有监管机构函件:/security-compliance。
三种集成路径, 选择最适合您技术栈的方式:
相同的仪表板、相同的计费、相同的按成功付费价格适用于所有三种方式。分步指南请访问 docs.didit.me/integration/integration-prompt。