Käufer verifizieren. Wallet prüfen. In einem Workflow.
Ein Didit-Workflow kümmert sich um die Identität des Käufers und die Ziel-Wallet, noch bevor die Kryptowährung transferiert wird. 500 Verifizierungen jeden Monat kostenlos.
Kenne den Käufer. Kenne die Wallet. Bevor die Gelder fließen.
Jede regulierte On-Ramp muss beide Hälften abdecken, KYC für den Käufer + KYT für die
Ziel-Wallet, bei jedem Kauf. Didit liefert beides in einem Workflow:
$0.33 KYC + $0.17 Transaktion (inkl. verwaltetem Wallet-Screening) = $0.50 pro
Kauf. BYOK beim Wallet-Anbieter senkt den Preis auf $0.37. 500 Verifizierungen kostenlos
jeden Monat.
So funktioniert's
Vom Sign-up 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 poste 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 den Flow durchläuft, 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, jedes Signal zu prüfen und Fälle nach deinen Wünschen zu verwalten.
Für On-Ramps entwickelt · Preis wie Infrastruktur
Sechs Prüfungen. Zwei API-Calls. $0.50 pro Kauf.
Ein regulierter On-Ramp-Kauf ist keine einzelne Prüfung, es ist ein Rezept. Aktiviere jedes Modul pro Workflow, tausche deinen eigenen Wallet-Screening-Anbieter über BYOK aus, um auf $0.37 pro Kauf zu kommen.
ID, Liveness, Face Match, Gerät + IP, AML, gebündelt für $0.33 pro Käufer. iBeta Level 1 Anti-Spoof zertifiziert, Ergebnis in unter zwei Sekunden, unterstützt über 14.000 Dokumente aus über 220 Ländern.
Prüfe das Ziel, bevor die Krypto-Assets transferiert werden.
Erkennt sanktionierte Wallets, Mixer, Exchange-High-Risk, gestohlene Gelder. $0.15 pro verwalteter Prüfung oder $0.02 pro Prüfung mit deinem eigenen Anbieter-Key. EVM, Bitcoin, TRON, Solana, wichtige L2s.
Sanktionen, Politisch Exponierte Personen (PEP), negative Medienberichte, täglich aktualisiert, in 14 Sprachen. Treffer öffnen automatisch einen Fall und blockieren den Kauf bis zur Freigabe.
IVMS-101 Payloads werden über TRP, Sumsub Travel Rule, Notabene, Veriscope ausgetauscht. Kein €1.000 De-minimis unter der EU TFR, jede Übertragung enthält Originator- + Begünstigten-Daten.
NameMarta LópezAccountbc1q72…9x4fAddressCalle Mayor 12, MadridVASPCoinbridgeCountrySpain · ES
Beneficiary
OH
Omar HaddadVASP · NovaRamp
IVMS-101
NameOmar HaddadAccountbc1qv…2m6pAddressMarina Walk 12, DubaiVASPNovaRampCountryUAE · AE
0.18 BTC
Delivered · TRP
No €1,000 de minimis · every transfer
05 · Transaktionslimits
Limits, die sich dem Käuferrisiko anpassen.
Echtzeit-Schwellenwerte für Geschwindigkeit, Betrag, Chain und Geografie pro Workflow. Erkennt Strukturierungsmuster automatisch. Bearbeite die Regeln im No-Code Workflow Builder ohne erneutes Deployment.
Dieselbe /v3/-Session wickelt Auszahlungen ab: KYC des Verkäufers, KYT der Quell-Wallet, AML des Käufers, Einreichung des Travel Rule Pakets. Ein Vertrag, eine Rechnung, ein Audit-Paket für beide Richtungen.
201Erstellt{ status APPROVED · IN_REVIEW · DECLINED · AWAITING_USER }
Agenten-fertige Integration
KYC- und KYT-On-Ramp-Flow mit einem Prompt umsetzen.
Füge diesen Prompt in Claude Code, Cursor, Codex, Devin, Aider oder Replit Agent ein. Ergänze deinen Stack. Der Agent erstellt den Workflow, schaltet den Kauf auf dem Wallet-Bildschirm frei, richtet die fortlaufende Überwachung ein und verbindet den 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.
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 vollständig geprüftem Kauf, KYC-Bundle + Transaktion mit Wallet-Screening.
0+
Sanktionen, politisch exponierte Personen (PEP) und Adverse-Media-Listen werden für jeden Käufer geprüft.
<0s
End-to-End KYC-Ergebnis pro Session, auf Einsteiger-Android-Geräten.
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.