跳到主要内容
Didit 融资200万美元并加入 Y Combinator (W26)
Didit
加密货币入口

验证买家。筛选钱包。在一个工作流程中完成。

一个 Didit 工作流程在加密货币离开前处理买方身份和目标钱包。每月 500 次免费验证。

支持者
Y Combinator
GBTC Finance
Bondex
Crnogorski Telekom
UCSF Neuroscape
Shiply
Adelantos

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

电影般的黑暗抽象入口堆栈插图——四个浮动的半透明玻璃面板以3D透视呈现在纯黑色背景上,由一条发光的Didit蓝色线条穿过,并由四个发光的扫描仪支架框住。每个面板都带有一个小的浅白色抽象图案(身份椭圆、钱包六边形、交易箭头、监控时钟)。

入口应具备什么

了解买家。了解钱包。在资金转移之前。

每个受监管的入口都应在每次购买时同时满足两部分要求——买家的KYC和 目标钱包的KYT。Didit将它们作为一个工作流程提供: $0.33 KYC + $0.17 交易(包含托管钱包筛选)= 每次购买 $0.50。 如果钱包提供商使用BYOK,则降至 $0.37。每月免费提供500次验证。

工作原理

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

  1. 步骤 01

    创建工作流程

    选择您想要的检查项——身份、活体检测、人脸匹配、制裁、地址、年龄、电话、电子邮件、自定义问题。将它们拖入仪表板中的流程,或将相同的流程发布到我们的API。根据条件进行分支,运行A/B测试,无需代码。

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

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

  4. 步骤 04

    您收到结果

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

专为入口设计 · 基础设施定价

六项检查。两次API调用。每次购买$0.50

受监管的入口购买并非单一检查——它是一个配方。每个工作流程可切换每个模块,通过BYOK替换您自己的钱包筛选提供商,将每次购买费用降至 $0.37。
01 · 买家KYC捆绑包

五项检查,一次调用。

身份、活体检测、人脸匹配、设备+IP、AML——捆绑价每位买家 $0.33。iBeta一级反欺诈认证,两秒内出结果,支持220多个国家/地区的14,000多种证件。
用户验证模块
02 · 钱包筛选 (KYT)

在加密货币离开前对目的地进行评分。

捕获受制裁的钱包、混币器、高风险交易所、被盗资金。每次检查管理费用 $0.15,或使用您自己的提供商密钥每次检查 $0.02。支持EVM、比特币、TRON、Solana、主要L2。
钱包筛选模块
03 · AML筛选

根据1,300多个列表筛选每个买家。

制裁、政治公众人物 (PEP)、负面媒体——每日更新,支持14种语言。命中会自动开启案件,并在清算前阻止购买。
AML筛选模块
04 · 旅行规则 (TFR)

每次转账的发起人+受益人。

通过TRP、Sumsub Travel Rule、Notabene、Veriscope交换IVMS-101负载。欧盟TFR下没有 €1,000 的最低限额——每次转账都包含发起人+受益人数据。
加密货币旅行规则概述
05 · 交易限额

随买家风险而变化的限额。

每个工作流程的实时速度、金额、链和地理阈值。自动捕获结构化模式。在无代码工作流构建器中编辑规则,无需重新部署。
交易监控模块
06 · 出口覆盖

入金和出金。一个工作流程。

相同的`/v3/`会话处理提款:KYC卖家,KYT源钱包,AML买家,提交旅行规则数据包。一份合同,一份发票,一份双向审计包。
加密行业工作流程
集成

一个会话。一次预检查。一个网络钩子。

开启KYC会话。预检查目标钱包。读取签名裁决。释放加密货币。
POST /v3/session/KYC
$ 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_onramp_kyc",
    "vendor_data": "buyer-42",
    "metadata": { "destination_wallet": "0x2dc1...81f9" }
  }'
201已创建{ "session_url": "verify.didit.me/..." }
在已签名的webhook返回status: Approved之前阻止购买。文档 →
POST /v3/transactions/KYT
$ curl -X POST https://verification.didit.me/v3/transactions/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -d '{
    "transaction_id": "buy-42",
    "transaction_details": { "direction": "OUTBOUND", "currency_kind": "crypto" },
    "subject": { "vendor_data": "buyer-42", "full_name": "Jamie Example" },
    "交易对手": { "全名": "目标钱包", "支付方式": { "账户ID": "0x2dc1...81f9" }}
  }'
201已创建状态 已批准 · 审核中 · 已拒绝 · 等待用户
currency_kind: "crypto"时,钱包筛选在服务器端运行。无需二次调用。文档 →
代理就绪集成

在一个提示中实现加密货币入口KYC + KYT流程。

粘贴到Claude Code、Cursor、Codex、Devin、Aider或Replit Agent中。填写您的技术栈。代理会构建工作流程,在钱包屏幕上限制购买,注册持续监控,并连接webhook。
didit-integration-prompt.md
You are integrating Didit into a fiat-to-crypto on-ramp. Two obligations on every buy:

  1. Verify the buyer (KYC) — identity, liveness, face match, device + IP, AML against 1,300+ sanctions / PEP / adverse-media lists. ONE call to the Sessions API.
  2. Screen the destination wallet (KYT) — risk-score the address against sanctioned wallets, mixers, high-risk counterparties BEFORE the crypto leaves. ONE call to the Transactions API with currency_kind: "crypto".

Bundle pricing (verified live against POST /v3/transactions/, 2026-05-16):
  - KYC bundle: $0.33 per buyer (Sessions API)
  - Transactions API call: $0.02 base (transaction-monitoring) + $0.15 wallet screening (Didit's default managed provider) = $0.17 per buy
  - Total managed: $0.33 + $0.17 = $0.50 per fully-screened buy
  - Total with BYOK on the wallet provider: $0.33 + $0.04 = $0.37 per buy
  - First 500 KYC verifications free every month, forever

PRE-REQUISITES
  - Production API key from https://business.didit.me (sandbox key in 60s, no card).
  - 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 ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening.
  - Transaction Monitoring enabled in the Business Console (Transactions > Settings) with crypto screening turned on.

STEP 1 — Verify the buyer with the Sessions API

  POST https://verification.didit.me/v3/session/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_id": "<wf id with KYC + AML modules>",
      "vendor_data": "<your buyer id, max 256 chars>",
      "callback": "https://<your-app>/onramp/kyc/callback",
      "metadata": {
        "purpose": "crypto_onramp_buy",
        "buy_id": "<your internal tx reference>"
      }
    }

  Response: 201 Created with the hosted session URL. Redirect the buyer to it. Sub-2-second median verdict on completion.

STEP 2 — Read the signed webhook on KYC completion

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

  Body (excerpted):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your buyer 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": [] }
    }

  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.

STEP 3 — Screen the destination wallet BEFORE crediting the buy

  POST https://verification.didit.me/v3/transactions/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body (required fields verified live 2026-05-16):
    {
      "transaction_id": "<your internal buy reference>",
      "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": "<your buyer id>",
        "full_name": "<buyer full name>"
      },
      "counterparty": {
        "entity_type": "unhosted_wallet",
        "full_name": "<destination wallet label>",
        "payment_method": {
          "method_type": "crypto_wallet",
          "account_id": "<destination wallet address>"
        }
      }
    }

  REQUIRED fields the API rejects if missing:
    - subject.vendor_data + subject.full_name
    - counterparty.full_name
    - transaction_details.direction + currency + currency_kind + amount
    - For crypto: a wallet address on counterparty.payment_method.account_id (OUTBOUND) or subject.payment_method.account_id (INBOUND post-transfer)

  Wallet screening runs server-side when currency_kind = "crypto" and there is a wallet address in the right participant. No separate endpoint.

  Response shape (excerpted from a real successful 201):
    {
      "uuid": "<server transaction uuid>",
      "txn_id": "<your transaction_id echoed back>",
      "status": "APPROVED",
      "score": 0,
      "severity": null,                       // null when score is 0; LOW | MEDIUM | HIGH | CRITICAL | UNKNOWN otherwise
      "props": {
        "wallet_risk_score": 0,
        "sanctions_hit": false,
        "pep_counterparty": false,
        "aml_provider": "<provider slug>",    // identifies the screening provider used on this call
        "aml_screening_type": "WALLET_SCREENING",
        "aml_screening_status": "COMPLETED"
      },
      "provider_results": [{ "provider": "<provider slug>", "result_type": "WALLET_SCREENING", "status": "SCREENED", ... }],
      "cost_breakdown": {
        "total_price": 0.17,
        "items": [
          { "usage_type": "transaction_aml_monitoring", "price": 0.15 },
          { "usage_type": "transaction_monitoring", "price": 0.02 }
        ]
      }
    }

  Transaction status enum (exact case, UPPER_SNAKE_CASE): APPROVED | IN_REVIEW | DECLINED | AWAITING_USER.
  When a transaction enters AWAITING_USER, Didit creates a linked remediation session automatically and returns a verification URL on the response.

  Real per-transaction cost (verified live):
    - Plain fiat transaction monitoring: $0.02
    - Crypto transaction with managed wallet screening: $0.17 ($0.02 TM base + $0.15 wallet screen on Didit's managed flow)
    - Crypto transaction with BYOK wallet screening: $0.04 ($0.02 TM base + $0.02 wallet screen)

  Branch logic:
    APPROVED       → send the crypto.
    IN_REVIEW      → hold the buy, route to analyst queue.
    DECLINED       → refund the fiat, block the address.
    AWAITING_USER  → redirect the buyer to the remediation session URL.

STEP 4 — Ongoing AML monitoring is automatic

  Any session with AML enabled is rescreened DAILY by Didit's continuous monitoring at $0.07 per user per year. There is NO separate endpoint to call — the same workflow does it.

  When a previously-approved buyer crosses an AML threshold, the session status changes to "In Review" or "Declined" automatically and your webhook fires the update.

STEP 5 — Off-ramp uses the same two endpoints

  Selling crypto for fiat:
    - KYC the seller via POST /v3/session/ (same as Step 1).
    - Screen the source wallet via POST /v3/transactions/ with direction: "INBOUND" and the source wallet address on subject.payment_method.account_id.

WEBHOOK EVENT NAMES
  - Sessions: status changes flow through the standard session webhook.
  - Transactions: transaction.created · transaction.updated · transaction.status.changed · transaction.alert.generated.

  Verify X-Signature-V2 on every payload.

CONSTRAINTS
  - Session statuses use Title Case With Spaces (Approved, In Review). Transaction statuses use UPPER_SNAKE_CASE (APPROVED, IN_REVIEW). They live in different APIs — don't mix them in the same code path.
  - Wallet Screening MUST run BEFORE the crypto leaves — a post-transfer screen is useful for audit but useless for blocking.
  - Default record retention is 5 years post-relationship per the EU AML package; extend per your supervisor's guidance.
  - 200+ fraud signals are evaluated on every KYC session at no extra cost — surface the score via the session decision payload, don't re-query.

Read the docs:
  - https://docs.didit.me/sessions-api/create-session
  - https://docs.didit.me/transaction-monitoring/overview
  - https://docs.didit.me/transaction-monitoring/aml-screening
  - 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
    每次完全筛选的购买 — KYC捆绑包 + 带有钱包筛选的交易。
  • 0+
    对每个买家进行制裁、政治公众人物 (PEP) 和负面媒体名单筛选。
  • <0s
    入门级Android设备上,每次会话的端到端KYC结果。
  • 0
    每个账户每月免费验证。
三个层级,一个价目表

免费开始。按使用量付费。扩展到企业版。

每月永久免费500次验证。生产环境按使用量付费。企业版提供定制合同、数据驻留和SLA(服务水平协议)。
免费

免费

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

常见问题

身份和欺诈基础设施。

一个用于 KYC、KYB、交易监控和钱包筛选的 API。5 分钟内即可集成。

让 AI 总结此页面