Originator und Begünstigter, bei jeder Überweisung.
Didit tauscht Travel Rule-Daten aus und überprüft die Gegenpartei-Wallet im selben /v3/-Transaktionsaufruf. IVMS-101-Payloads, $0.17 pro verwaltetem Transfer, 500 kostenlose Verifizierungen jeden Monat.
Senden Sie die Identität. Überprüfen Sie die Wallet. Gleicher Aufruf.
Jeder regulierte VASP schuldet bei jeder Überweisung beide Hälften – das IVMS-101-Paket
für den Gegenpartei-VASP, die On-Chain-Risikoprüfung für sich selbst. Didit liefert
sie als einen Transaktions-API-Aufruf: $0.17 verwaltet, $0.04 mit Bring Your Own
Key beim Wallet-Anbieter. 500 Verifizierungen jeden Monat kostenlos.
So funktioniert's
Vom Anmelden zum verifizierten Benutzer in vier Schritten.
Schritt 01
Workflow erstellen
Wählen Sie die gewünschten Prüfungen aus – ID, Liveness, Gesichtsabgleich, Sanktionen, Adresse, Alter, Telefon, E-Mail, benutzerdefinierte Fragen. Ziehen Sie sie in einen Flow im Dashboard oder posten Sie denselben Flow an unsere API. Verzweigen Sie nach Bedingungen, führen Sie A/B-Tests durch, kein Code erforderlich.
Schritt 02
Integrieren
Nativ einbetten mit unserem Web-, iOS-, Android-, React Native- oder Flutter-SDK. Weiterleiten zu einer gehosteten Seite. Oder senden Sie Ihrem Benutzer einfach einen Link – per E-Mail, SMS, WhatsApp, überall. Wählen Sie, was zu Ihrem Stack passt.
Schritt 03
Benutzer durchläuft den Flow
Didit hostet die Kamera, die Beleuchtungshinweise, die mobile Übergabe und die Barrierefreiheit. Während der Benutzer im Flow ist, bewerten wir über 200 Betrugssignale in Echtzeit und verifizieren jedes Feld anhand autoritativer Datenquellen. Ergebnis in unter zwei Sekunden.
Schritt 04
Sie erhalten die Ergebnisse
Echtzeit-signierte Webhooks halten Ihre Datenbank synchron, sobald ein Benutzer genehmigt, abgelehnt oder zur Überprüfung gesendet wird. Fragen Sie die API bei Bedarf ab. Oder öffnen Sie die Konsole, um jede Sitzung, jedes Signal zu überprüfen und Fälle nach Ihren Wünschen zu verwalten.
Für Travel Rule entwickelt · Preis wie Infrastruktur
Ein Anruf. IVMS-101 Paket + Wallet-Screen. $0.17.
Ein regulierter Krypto-Transfer ist keine einzelne Prüfung – es ist ein Rezept. Schalten Sie jedes Modul pro Workflow um, tauschen Sie Ihren eigenen Wallet-Screen-Anbieter über Bring Your Own Key ein, um auf $0.04 pro Transfer zu kommen.
Originator- und Begünstigtenfelder, die aus dem verifizierten KYC ausgefüllt werden. Automatisch formatiert nach InterVASP Messaging Standard 101 – dem Schema, das jedes wichtige Travel Rule-Protokoll liest.
Automatisch ausgefüllt aus der verifizierten KYC-Sitzung.
02 · Schwellenwerte pro Gerichtsbarkeit
Schwellenwerte, die Ihrer Gerichtsbarkeit entsprechen.
EU TFR (kein Minimum), US FinCEN ($3.000), UK FCA (£1.000), MAS (SGD 1.500), FINMA (CHF 1.000), VARA (AED 3.500). Ein Workflow pro Gerichtsbarkeit; Wechsel über Sitzungsmetadaten.
Schwellenwerte, die Ihrer Gerichtsbarkeit entsprechen.
220+ Länder
GerichtsbarkeitSchwellenwertStatus
Europäische UnionKein MinimumLive
Vereinigte Staaten$3,000Live
Vereinigtes Königreich£1,000Live
SingapurSGD 1.500Live
SchweizCHF 1,000Live
Ein Workflow pro Gerichtsbarkeit; Wechsel über Sitzungsmetadaten.
03 · Protokoll-Interoperabilität
Jedes Travel Rule-Protokoll. Ein Vertrag.
TRP, Sumsub Travel Rule, Notabene, Veriscope, OpenVASP, Shyft – alle erreichbar über denselben IVMS-101-Payload. Wählen Sie ein Netzwerk oder akzeptieren Sie alle; ein Vertrag, eine Rechnung.
Wählen Sie ein Netzwerk oder akzeptieren Sie alle. Ein Vertrag.
04 · Selbst gehosteter Wallet-Flow
Selbst gehostetes Ziel? Immer noch abgedeckt.
Kein Gegenpartei-VASP zum Austausch – Didit sammelt die Identität des Begünstigten vom Benutzer, führt Proof-of-Control-Sign-Challenges über den EU-Schwellenwerten für erweiterte Sorgfaltspflichten durch, überprüft die Ziel-Wallet, speichert den IVMS-Format-Datensatz.
Erfassung der Identität des OriginatorsImmerBestehen
BegünstigtenbestätigungImmerBestehen
Kontrollnachweis> 1.000 EURÜberprüfen
Wallet-Screening am ZielortImmerBestehen
Sanktionierte Wallet erkanntBeliebigBlockieren
Proof-of-Control-Signatur-Challenge für erweiterte Due Diligence.
05 · Wallet-Screening neben der Regel
Travel Rule + Wallet-Screen. Derselbe Aufruf.
$0.02 Transaktionsüberwachungsbasis + $0.15 verwaltetes Wallet Screening = $0.17 pro Überweisung. Mit Bring Your Own Key beim Wallet-Anbieter sinkt das Wallet-Screening auf $0.02 – insgesamt $0.04.
Ein Paket pro Übertragung. Geht in die Prüfung ein.
IVMS-101-Payload, Wallet-Screen-Urteil, Zuordnung des Gegenpartei-VASP, signierte HMAC-Zeitstempel. Gespeichert in der EU. Standardmäßig 5 Jahre aufbewahrt; erweiterbar gemäß Aufsichtsrichtlinien.
Verifizieren Sie den Benutzer einmal. Übermitteln Sie jeden Transfer mit IVMS-Feldern + Gegenpartei-Wallet. Lesen Sie das signierte Urteil. Geben Sie die Krypto frei.
IVMS-101-Paket + Wallet-Screen laufen serverseitig. Kein zweiter Aufruf.Dokumente →
Agentenbereite Integration
Versenden Sie einen Travel Rule-Flow in einer Eingabeaufforderung.
Fügen Sie es in Claude Code, Cursor, Codex, Devin, Aider oder Replit Agent ein. Füllen Sie Ihren Stack aus. Der Agent erstellt den Workflow, füllt die IVMS-Felder aus der KYC-Sitzung, führt die Wallet-Überprüfung durch und verbindet den Webhook.
didit-integration-prompt.md
You are integrating Didit into a Virtual Asset Service Provider (VASP) / Crypto-Asset Service Provider (CASP) to satisfy the Travel Rule on every crypto transfer. Two obligations:
1. Verify the user (KYC) — identity, liveness, face match, device + IP, AML. The originator data on every outbound transfer comes from this verified profile.
2. Submit each transfer with originator + beneficiary fields (IVMS-101) AND screen the counterparty wallet — one /v3/transactions/ call.
Bundle pricing (verified live 2026-05-16):
- User Verification (KYC) bundle: $0.33 per user (Sessions API)
- Transactions API call: $0.02 base + $0.15 managed wallet screen = $0.17 per managed transfer
- With Bring Your Own Key (BYOK) on the wallet provider: $0.04 per transfer ($0.02 + $0.02)
- 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.
- Transaction Monitoring + Wallet Screening enabled in the Business Console (Transactions > Settings).
STEP 1 — Verify the user with the Sessions API (one-time onboarding)
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 user id>",
"callback": "https://<your-app>/casp/onboard/callback",
"metadata": {
"purpose": "casp_onboarding"
}
}
Response: 201 Created with the hosted session URL. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on KYC completion
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.
Capture the user's full name, date of birth, address, and any registered identity-document number from the decision payload. These fields populate the IVMS-101 originator block on every subsequent transfer.
STEP 3 — Submit every transfer with IVMS-101 + wallet screen in one call
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 transfer reference>",
"transaction_category": "finance",
"include_crypto_screening": true,
"transaction_details": {
"direction": "OUTBOUND",
"amount": "0.45",
"currency": "ETH",
"currency_kind": "crypto",
"action_type": "transfer"
},
"subject": {
"entity_type": "individual",
"vendor_data": "<your user id>",
"full_name": "<originator name from KYC>",
"address": "<originator address from KYC>",
"dob": "<originator dob from KYC, YYYY-MM-DD>"
},
"counterparty": {
"entity_type": "individual",
"full_name": "<beneficiary name>",
"address": "<beneficiary address if known>",
"payment_method": {
"method_type": "crypto_wallet",
"account_id": "<counterparty 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
- counterparty.payment_method.account_id (the wallet address)
Didit packages the subject + counterparty fields into an IVMS-101 payload, hands them off to the connected Travel Rule protocol (TRP / Sumsub TR / Notabene / Veriscope), runs Wallet Screening on the counterparty address server-side, and returns one verdict.
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,
"travel_rule": { "status": "EXCHANGED", "protocol": "<network>", "ivms_packet_id": "<id>" },
"props": {
"wallet_risk_score": 0,
"sanctions_hit": false,
"aml_provider": "<provider slug>",
"aml_screening_type": "WALLET_SCREENING",
"aml_screening_status": "COMPLETED"
},
"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.
Wallet-screen severity (UPPER): LOW | MEDIUM | HIGH | CRITICAL | UNKNOWN.
Branch logic:
APPROVED → release the crypto.
IN_REVIEW → hold the transfer, route to analyst queue.
DECLINED → refuse the transfer, log the IVMS attempt for the audit.
AWAITING_USER → redirect the user to the remediation URL on the response.
STEP 4 — Inbound transfers: ingest the counterparty's IVMS packet
When you RECEIVE a transfer from another VASP:
- The connected Travel Rule protocol delivers the originator IVMS data to you BEFORE the on-chain transfer settles.
- Submit it via the same POST /v3/transactions/ with direction: "INBOUND" and the originator fields on subject and your own beneficiary on counterparty.
- Wallet Screening runs on the originator wallet (subject.payment_method.account_id).
- Verdict drives whether to credit the user.
STEP 5 — Self-hosted (unhosted) wallet transfers
For transfers TO a self-hosted wallet (no counterparty VASP to exchange with):
- Collect the beneficiary identity from the user via a custom questionnaire ($0.10).
- Above local enhanced-due-diligence thresholds, prompt the user to sign a short message with the beneficiary wallet's private key as proof of control.
- Submit the transaction with the captured beneficiary fields + wallet address.
- Didit still runs Wallet Screening on the destination and stores the IVMS-format record for the audit.
STEP 6 — Continuous AML on the user is automatic
Every approved user is re-screened daily against 1,300+ sanctions, PEP, and adverse-media lists. There is NO separate endpoint to call. When a previously-clean user crosses an AML threshold, the session status updates and a signed webhook fires.
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 Title Case With Spaces; transaction statuses UPPER_SNAKE_CASE. Don't mix.
- EU Transfer of Funds Regulation has NO de minimis threshold for crypto — every transfer carries originator + beneficiary data.
- US Travel Rule kicks in at $3,000; UK at £1,000; Singapore at SGD 1,500; Switzerland at CHF 1,000. Apply per-workflow.
- Default record retention is 5 years post-transfer per most AML regimes; extensible per supervisor guidance.
- Wallet Screening MUST run BEFORE the crypto leaves — a post-transfer screen is useful for audit but useless for blocking.
Read the docs:
- https://docs.didit.me/transaction-monitoring/overview
- https://docs.didit.me/transaction-monitoring/transactions
- https://docs.didit.me/transaction-monitoring/aml-screening
- https://docs.didit.me/sessions-api/create-session
- 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.
Benötigen Sie mehr Kontext? Sehen Sie sich die vollständige Moduldokumentation an.docs.didit.me →
Von Grund auf konform
Ein neues Land mit einem Klick eröffnen. Wir machen die harte Arbeit.
Wir gründen die lokalen Tochtergesellschaften, sichern die Lizenzen, führen die Penetrationstests durch, erwerben die Zertifizierungen und passen uns jeder neuen Vorschrift an. Um Verifizierungen in einem neuen Land zu versenden, legen Sie einen Schalter um. Über 220 Länder live, vierteljährlich geprüft und Pen-getestet – der einzige Identitätsanbieter, den eine Regierung eines EU-Mitgliedstaates formell als sicherer als die persönliche Verifizierung bezeichnet hat.
Pro verwaltetem Transfer – Transaktionsüberwachung Basis + Wallet-Screening.
0+
Sanktionen, politisch exponierte Personen (PEP) und Listen mit negativen Medien, die bei jedem Benutzer überprüft werden.
0+
Travel Rule-Protokolle, die auf derselben IVMS-101-Nutzlast interoperabel sind – TRP, Sumsub TR, Notabene, Veriscope, OpenVASP, Shyft.
0
Jeden Monat kostenlose Verifizierungen, auf jedem Konto.
Drei Stufen, eine Preisliste
Kostenlos starten. Pro Nutzung bezahlen. Auf Enterprise 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.
Kostenlos starten → nur bezahlen, wenn eine Prüfung durchgeführt wird → Enterprise für einen individuellen Vertrag, SLA oder Datenresidenz freischalten.