Stromrechnungen, Kontoauszüge, Behördenschreiben, gelesen, geparst, mit dem Ausweis abgeglichen, gegen das Adressregister des Landes validiert. $0.20 pro Prüfung. 500 Verifizierungen jeden Monat kostenlos.
Eine selbst eingegebene Adresse fällt bei der Prüfung durch. Eine gescannte Stromrechnung, die nicht
mit dem Ausweis abgeglichen wird, fällt bei der Prüfung durch. Didit liefert das komplette Rezept für den Adressnachweis
, Erfassung, OCR, Namens- + Adressabgleich mit dem Ausweis, plus
Länderregister-Validierung in über 18 Jurisdiktionen, als ein signiertes Beweispaket
für $0.20 pro Prüfung.
So funktioniert's
Vom Anmelden zum verifizierten Nutzer in vier Schritten.
Schritt 01
Workflow erstellen
Wähle die gewünschten Prüfungen aus, ID, Liveness, Face Match, Sanktionen, Adresse, Alter, Telefon, E-Mail, benutzerdefinierte Fragen. Ziehe sie im Dashboard in einen Flow oder sende denselben Flow an unsere API. Verzweige nach Bedingungen, führe A/B-Tests durch, kein Code erforderlich.
Schritt 02
Integrieren
Bette nativ mit unserem Web-, iOS-, Android-, React Native- oder Flutter-SDK ein. Leite auf eine gehostete Seite weiter. Oder sende deinem Nutzer einfach einen Link, per E-Mail, SMS, WhatsApp, überall. Wähle, was zu deinem Stack passt.
Schritt 03
Nutzer durchläuft den Flow
Didit hostet die Kamera, die Beleuchtungshinweise, die mobile Übergabe und die Barrierefreiheit. Während der Nutzer im Flow ist, bewerten wir über 200 Betrugssignale in Echtzeit und verifizieren jedes Feld anhand autoritativer Datenquellen. Ergebnis in unter zwei Sekunden.
Schritt 04
Du erhältst die Ergebnisse
Echtzeit-signierte Webhooks halten deine Datenbank synchron, sobald ein Nutzer genehmigt, abgelehnt oder zur Überprüfung gesendet wird. Frage die API bei Bedarf ab. Oder öffne die Konsole, um jede Session und jedes Signal zu prüfen und Fälle nach deinen Wünschen zu verwalten.
Für Compliance entwickelt · Preis wie Infrastruktur
Sechs Prüfungen. $0.20 pro Adressnachweis.
Ein behördengerechter Adressnachweis ist nicht nur eine OCR, es ist eine Kombination aus Erfassung, Parsing, Quervergleich, Registervalidierung und einem Audit-Envelope. Schalte jedes Modul pro Workflow um.
Nebenkostenabrechnung, Kontoauszug, behördliches Schreiben, Mietvertrag, Hypothek, Mobilfunk-/Internetvertrag, alles innerhalb von 90 Tagen. Der gehostete Flow führt den Nutzer durch die Erfassung; das SDK stellt denselben Flow in deiner nativen App bereit.
OCR extrahiert die Adresse in kanonische Felder, Zeile 1, Zeile 2, Stadt, Postleitzahl, Land, issued_at, und normalisiert sie über eine englische Nebenkostenabrechnung, einen spanischen Kontoauszug, eine deutsche Anmeldung hinweg. Gleichzeitig prüfen wir die Authentizität: Pixel-Manipulationen, Copy-Paste-Artefakte, Schrift-/Template-Manipulationen, niedrigauflösende Nachdrucke und EXIF-Inkonsistenzen. Ein gefälschtes oder manipuliertes Dokument fällt die Prüfung durch, bevor es überhaupt in dein Audit-Log gelangt.
Document date checked against the 90-day window automatically.
03 · ID-Quervergleich
Mit der zugrunde liegenden ID abgleichen.
Die geparste Adresse wird mit der Adresse auf dem zugrunde liegenden Ausweis abgeglichen, und der Name auf dem Nachweis wird mit dem Namen auf dem Ausweis abgeglichen. Fängt gefälschte Rechnungen, nicht übereinstimmende Namen, abgelaufene Uploads und Rechnungen ab, die jemand anderem an derselben Adresse gehören.
Gegen die autoritative Quelle des Landes validieren.
Wo das Land es unterstützt, UK Royal Mail PAF, Spanien Catastro / Padrón, Frankreich BAN, Deutschland kommunale Anmeldung, US USPS und mehr, wird die geparste Adresse direkt mit dem autoritativen Register abgeglichen.
Akzeptable Dokumente pro Region, Europa bevorzugt Nebenkosten-/Bank-/Gemeindebriefe, Lateinamerika Steuerregister, USA Bank-/Nebenkosten-/Mietverträge, APAC behördliche Schreiben. Der Workflow Builder ermöglicht es dir, akzeptable Dokumente pro Ländersegment einzuschränken.
Jedes Ergebnis eines Adressnachweises wird signiert und mit Zeitstempel versehen, das Originaldokumentbild, die geparste Adress-Payload, die Quervergleichs-Ergebnisse und das Ergebnis der Registervalidierung. Bei Bedarf über die Business Console oder API exportierbar. Standardmäßig in EU-Rechenzentren.
200OKregistry_match true → Adressnachweis mit hoher Sicherheit.
Agenten-fertige Integration
Adressnachweis mit einem Prompt implementieren.
In Claude Code, Cursor, Codex, Devin, Aider oder Replit Agent einfügen. Stack angeben. Der Agent erstellt den Workflow, startet die Session, parst die Adresse in kanonische Felder, führt die Registervalidierung durch und verbindet den 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.
Compliant by Design
Ein neues Land mit einem Klick erschließen. Wir machen die Arbeit.
Wir gründen lokale Tochtergesellschaften, sichern Lizenzen, führen Penetrationstests durch, erhalten Zertifizierungen und passen uns jeder neuen Regulierung an. Um Verifizierungen in einem neuen Land zu starten, legst du einfach einen Schalter um. Über 220 Länder live, vierteljährlich auditiert und Pen-getestet, der einzige Identitätsanbieter, den eine EU-Mitgliedsregierung offiziell als sicherer als die persönliche Verifizierung eingestuft hat.
Pro Adressnachweis, OCR + Abgleich + Registervalidierung.
0+
Länder mit integrierter, autoritativer Adressregister-Validierung.
0+
Insgesamt unterstützte Länder, mit regional akzeptierten Dokumenten.
0
Kostenlose Verifizierungen jeden Monat, für jedes Konto.
Drei Stufen, eine Preisliste
Kostenlos starten. Nach Nutzung zahlen. Bis zum Enterprise-Level skalieren.
500 kostenlose Verifizierungen jeden Monat, für immer. Pay-as-you-go für die Produktion. Individuelle Verträge, Datenresidenz und SLAs (Service Level Agreements) für Enterprise.