跳到主要内容
Didit 融资200万美元并加入 Y Combinator (W26)
Didit
地址证明

经验证的居住地来自任何支持文件

水电费账单、银行对账单、政府信函 — 读取、解析、与 ID 交叉核对、与国家地址注册机构验证。每次检查 $0.20。每月免费 500 次验证。

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

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

一张电影般的深色抽象地址证明插图 — 四块漂浮的半透明玻璃面板在纯黑色背景上,由一条发光的 Didit 蓝色线条穿过。每块面板上都有一个小小的抽象图案(信封、水电费账单、地图图钉、房屋轮廓)。

受监管平台应尽的义务

不要相信输入的地址。阅读账单,验证注册。

自行输入的地址无法通过审计。未与 ID 交叉核对的扫描水电费账单无法通过审计。Didit 提供完整的地址证明方案 — 捕获、OCR、姓名 + 地址与 ID 匹配,以及在 18 多个司法管辖区进行国家注册验证 — 作为一份签名的证据包,每次检查 $0.20。

工作原理

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

  1. 步骤 01

    创建工作流

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

  2. 步骤 02

    集成

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

  3. 步骤 03

    用户完成流程

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

  4. 步骤 04

    您收到结果

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

为合规而生 · 基础设施定价

六项检查。每份地址证明$0.20

监管级别的地址证明不仅仅是 OCR — 它是一个捕获、解析、交叉核对、注册验证和审计包的方案。根据每个工作流切换每个模块。
01 · 文件捕获

接受任何支持文件。

水电费账单、银行对账单、政府信函、租赁合同、抵押贷款、移动/互联网合同——所有文件均需在90天内。托管流程会引导用户完成捕获;SDK 在您的原生应用中提供相同的流程。
地址证明模块
02 · 解析 + 欺诈检查

解析字段。验证文件。

OCR 将地址提取到规范字段中——第1行、第2行、城市、邮政编码、国家、签发日期——并将其标准化,无论是英文水电费账单、西班牙银行对账单还是德国的 Anmeldung。同时,我们还会检查真实性:像素级篡改、复制粘贴痕迹、字体/模板篡改、低分辨率重印以及 EXIF 不一致。伪造或篡改的文件在到达您的审计日志之前就会被检查出来。
地址证明模块
03 · 身份交叉核对

与基础身份证明匹配。

解析后的地址会与基础身份证明上的地址进行交叉核对,证明上的姓名会与身份证明上的姓名进行交叉核对。这可以发现伪造的账单、不匹配的姓名、过期的上传以及同一地址下属于他人的账单。
身份验证模块
04 · 注册验证

根据国家/地区的权威来源进行验证。

在支持的国家/地区——英国皇家邮政 PAF、西班牙 Catastro / Padrón、法国 BAN、德国市政 Anmeldung、美国 USPS 等——解析后的地址会直接与权威注册机构进行查询。
数据库验证模块
05 · 全球覆盖

220+ 个国家/地区,48+ 种语言。

每个地区可接受的文件——欧洲倾向于水电费/银行/市政信函,拉丁美洲倾向于税务登记,美国倾向于银行/水电费/租赁合同,亚太地区倾向于政府信函。工作流构建器允许您根据国家/地区细分来限制可接受的文件。
数据库验证模块
06 · 审计包

监管级审计信封。

每份地址证明的裁决都经过签名和时间戳——包括原始文件图像、解析后的地址负载、交叉核对裁决和注册验证结果。可通过业务控制台或 API 按需导出。默认使用欧盟数据中心。
合规设计
集成

一个会话。规范地址。签名包。

打开会话。读取解析的地址。归档监管级别的审计包。
POST /v3/session/POA
$ 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_proof_of_address",
    "vendor_data": "user-42",
    "expected_country": "ES"
  }'
201已创建托管网址 · 用户上传身份证明 + 自拍照 + 地址证明。
文件日期强制执行90天窗口期。文档 →
GET /v3/session/{id}/decision/决定
$ curl https://verification.didit.me/v3/session/$SESSION/decision/ \
  -H "x-api-key: $DIDIT_API_KEY"

# Decision payload (excerpted):
{ "proof_of_address": { "status": "Approved", "address": { ... } },
  "database_validation": { "service": "es_catastro_address", "result": { "registry_match": true } } }
200OKregistry_match true → 高置信度居住证明。
保留规范地址信封。文档 →
代理就绪集成

一键提交地址证明。

粘贴到 Claude Code、Cursor、Codex、Devin、Aider 或 Replit Agent 中。填写您的堆栈。代理将构建工作流,启动会话,将地址解析为规范字段,运行注册表验证,并连接 webhook。
didit-integration-prompt.md
You are integrating Didit's Proof of Address into a regulated onboarding flow (bank, fintech, lender, crypto exchange, EU payment institution). Regulators want a current address on every customer file; the legacy "ask the user to type it" approach fails audit because the typed address is unverified.

Four obligations on every Proof of Address:

  1. Capture an acceptable document — utility bill, bank statement, government letter, lease, mortgage, mobile / internet contract — dated within the last 90 days.
  2. Read the address fields with Optical Character Recognition (OCR) and parse them into the canonical address envelope (line 1, line 2, city, postal code, country).
  3. Cross-check the address against the address on the underlying ID document AND against the name on both — a mismatched address or a mismatched name fails the check.
  4. Where the country supports it, validate the parsed address against the authoritative address registry (UK Royal Mail PAF, Spain Catastro / Padrón, France BAN, Germany DATEV, US USPS).

Pricing (verified live):
  - Proof of Address: $0.20 per check
  - ID Verification (required as the cross-check anchor): $0.15 per check
  - Database Validation (per-country registry validation, optional): variable per service
  - Combined bundle (ID + Liveness + Face Match + Proof of Address): $0.55 per user
  - First 500 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 bundling ID Verification + Passive Liveness + Face Match 1:1 + Proof of Address. Add a Database Validation node for the country-specific address registry where available.

STEP 1 — Create the session

  POST https://verification.didit.me/v3/session/
  Headers:
    x-api-key: <your api key>
    Content-Type: application/json
  Body:
    {
      "workflow_id": "<your proof-of-address workflow id>",
      "vendor_data": "<your user id, max 256 chars>",
      "callback_url": "https://<your-app>/onboarding/poa/callback",
      "expected_country": "ES",
      "metadata": {
        "purpose": "regulatory_address_capture",
        "user_id": "<your internal id>"
      }
    }

  Response: 201 Created with the hosted session URL. SMS or email the URL to the user; they complete ID capture + selfie + Proof of Address upload on their phone in under five minutes.

STEP 2 — 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 user id>",
      "status": "Approved",
      "id_verification": { "status": "Approved", "document_type": "passport", "country_code": "ES" },
      "liveness": { "status": "Approved" },
      "face": { "status": "Approved", "similarity_score": 0.94 },
      "proof_of_address": {
        "status": "Approved",
        "document_type": "utility_bill",
        "issuer": "Iberdrola",
        "issued_at": "2026-04-12",
        "address": {
          "line1": "C. Diagonal 612",
          "line2": "3a",
          "city": "Barcelona",
          "postal_code": "08021",
          "country": "ES"
        },
        "cross_check": {
          "name_match": true,
          "address_match_with_id": true,
          "within_90_day_window": true
        }
      },
      "database_validation": {
        "status": "Approved",
        "service": "es_catastro_address",
        "result": { "registry_match": true }
      }
    }

  Session 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 — Decide

  Branch logic:
    Approved    → file the canonical address payload on the customer record.
    In Review   → hold the onboarding, wait for analyst webhook update.
    Declined    → refuse onboarding, log the decline reason (typically: document over 90 days old, name mismatch, address mismatch with the ID).
    Resubmitted → user updated the upload; re-read the decision.

  The Proof of Address sub-result is independent of the parent session — even if the parent session is Approved, the proof_of_address.status might be In Review if the cross-check flagged a different city. Switch on proof_of_address.status when you persist the address.

STEP 4 — Persist the canonical address envelope

  When proof_of_address.status === "Approved", save the entire address object to your customer record as the regulatory current address. Use the canonical fields (line1, line2, city, postal_code, country) — Didit normalises across document layouts so the same shape works for an English utility bill, a Spanish bank statement, and a German Anmeldung.

  Keep the issuer + issued_at fields for your audit log — they prove the document type and the recency window the regulator audited.

STEP 5 — Registry validation result

  When the workflow includes a Database Validation node, the database_validation block returns the per-country registry-validation outcome:
    - es_catastro_address — Spanish Catastro property registry
    - uk_royal_mail_paf — UK Postcode Address File
    - fr_ban — France Base Adresse Nationale
    - de_anmeldung — German municipal registration check
    - us_usps — US Postal Service address validation

  A registry-match-false result on a country that supports validation is a signal worth manual review even if the OCR pass succeeded — most fake addresses fail registry validation immediately.

STEP 6 — Refresh on a cadence (optional)

  Most regulators ask for the address on file to be re-confirmed every 1-3 years (longer for low-risk customers, shorter for high-risk). Add a periodic Proof of Address session to your account-refresh cadence — same workflow, same hosted URL flow.

WEBHOOK EVENT NAMES
  - status.updated — session status changed.
  - data.updated — session data changed (resubmission, document re-upload).

  Verify X-Signature-V2 on every payload. The webhook secret is per-environment — sandbox key is separate from production.

CONSTRAINTS
  - Session statuses use Title Case With Spaces (Approved, In Review).
  - Acceptable documents must be dated within the last 90 days by default; some workflows extend to 180 days for low-risk customer segments.
  - The address on the Proof of Address document MUST cross-check against the address on the underlying ID OR against a previously-Approved address on file. If neither match, the proof flips to In Review automatically.
  - Default record retention is 5 years post-relationship per the EU AML package.

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/proof-of-address/overview
  - https://docs.didit.me/core-technology/database-validation/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
    每份地址证明 — OCR + 交叉核对 + 注册验证。
  • 0+
    内置权威地址注册验证的国家。
  • 0+
    总体支持的国家,每个地区都有可接受的文档。
  • 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 总结此页面