Zum Hauptinhalt springen
Sometimes you need to check a crypto wallet’s AML-Risiko bevor eine Transaktion erfasst wird, zum Beispiel wenn ein Kunde eine Auszahlungsadresse hinzufügt oder Ihr Compliance-Team eine Adresse ad hoc prüfen möchte. Der On-Demand-Endpoint für Wallet-Screening prüft eine einzelne Adresse und liefert das vollständige Risikoergebnis zurück, ohne eine Transaktion anzulegen. Dies ist das eigenständige Gegenstück zum automatischen Krypto-Screening, das bei der Einreichung einer Transaktion läuft. Beide nutzen dieselben Blockchain-Analyseanbieter und dieselbe Ergebnisstruktur.

Wann Sie es verwenden

Wallet-Screening schreibt nichts in die Transaktionstabelle. Wenn das Screening an eine überwachte Transaktion gebunden sein soll (mit Regeln, Alerts und Webhooks), reichen Sie stattdessen eine Transaktion ein.

Voraussetzungen

Die Transaktionsüberwachung muss für die Anwendung konfiguriert sein, entweder mit einem verwalteten Anbieter oder mit einem vorhandenen Anbieterschlüssel. Konfigurieren Sie sie unter Transaktionen > Einstellungen > Provider Preferences in der Business Console. Ist kein Anbieter konfiguriert, antwortet der Endpoint mit 409 Conflict.

Anfrage

POST https://verification.didit.me/v3/wallet-screening/ Authentifizieren Sie sich mit dem Header x-api-key.

Netzwerkabdeckung

Verwaltetes Screening unterstützt Base (BASE), Optimism (OP) und Arbitrum One (ARB), sowohl für Wallet- als auch für Transaktions-Hash-Screening. Verbundene Anbieter können eine abweichende Abdeckung haben; ein Netzwerk muss außerdem von Ihrem gewählten Anbieter und Konto unterstützt werden. Celo (CELO), Mode (MODE) und Plume (PLUME) werden über ein verbundenes TRM-Labs-Konto gescreent (Marketplace, eigener Schlüssel). Das verwaltete Screening deckt sie nicht ab und antwortet mit 400. Senden Sie ETH nicht für ein anderes EVM-Netzwerk: Dieselbe Adresse kann auf jedem Netzwerk unterschiedliche Aktivitäten und Risiken aufweisen. Beim verwalteten Screening sind USDT und USDC veraltete Aliase für Ethereum, keine Suche über alle Netzwerke, in denen diese Token existieren. Verwenden Sie die Netzwerkkennung (ETH, TRX, SOL, MATIC, BNB, BASE, OP, ARB, AVAX, ADA, XLM, HBAR oder mit TRM Labs CELO, MODE oder PLUME) für das tatsächliche Netzwerk der Wallet. Bei Token in erfassten Transaktionen behalten Sie den Token in transaction_details.currency bei und geben das Netzwerk separat in transaction_details.crypto_params.crypto_chain an. Siehe Auswahl von Asset und Netzwerk.
LIGHTNING ist nur verfügbar, wenn für die Anwendung in der Konsole unter Marketplace ein verbundener Elliptic- oder Chainalysis-BYOK-Anbieter hinterlegt ist. Mit verwaltetem Merkle Science oder mit Crystal oder TRM Labs ist es nicht verfügbar. Anfragen ohne unterstützten verbundenen Anbieter führen zu 400 und werden weder gescreent noch abgerechnet.

Antwort

Die Antwort ist das standardisierte Screening-Ergebnis und hat dieselbe Struktur wie das WALLET_SCREENING-Providerergebnis, das das Transaktions-Screening zurückgibt.
So wird severity festgelegt. severity ist die Stufe des normalisierten risk_score: 0-9 → UNKNOWN, 10-39 → LOW, 40-69 → MEDIUM, 70-89 → HIGH, 90-100 → CRITICAL. UNKNOWN ist die niedrigste Stufe und kein eigener Zustand „keine Daten“. risk_score: 0 (der häufige Fall einer unauffälligen Adresse) bedeutet, dass der Provider keine negative Bewertung geliefert hat, während ein Wert ungleich null im Bereich 1-9 ein echtes, aber unterhalb von LOW liegendes Signal ist. Lesen Sie daher den risk_score selbst und nicht nur die Stufe. In beiden Fällen darf UNKNOWN nicht als eindeutig „unauffällig“ oder bestanden dargestellt werden.direction ändert das Risikomodell nicht. Das optionale Feld direction wird nur als Kontext an den Provider übergeben. Es beeinflusst weder risk_score noch severity noch die zurückgegebenen Aufschlüsselungslisten: source_of_funds und destination_of_funds werden immer zurückgegeben. Das Ändern oder Weglassen von direction macht daher kein erneutes Screening einer bereits geprüften Adresse erforderlich.

Risikofaktoren

risk_factors ist die nach Rang sortierte Antwort auf die Frage, warum die Adresse so bewertet wird. Provider bewerten eine Adresse nach ihrem eigenen Modell und liefern nur ein Urteil. Merkle Science gibt etwa eine Ganzzahl 0-5 zurück, daher können allein aus risk_score keine Maßnahmen abgeleitet werden. Jeder Eintrag benennt einen Treiber. Die Einträge sind zuerst nach Hochrisiko sortiert und danach nach dem Wert, der über diesen Treiber geflossen ist.
Ein hoher Score ohne is_high_risk-Faktor ist ein echtes, aussagekräftiges Ergebnis. Es bedeutet, dass der Provider die Adresse nach seinem eigenen Expositionsmodell bewertet hat, ohne einen Treffer bei Sanktionen, PEPs oder einer zugeordneten Entität zu melden. Die aufgeführten Faktoren sind die Geldflüsse hinter der Bewertung. summary nennt dies ausdrücklich. Behandeln Sie solche Adressen daher als „Geldflüsse prüfen“ und nicht als bestätigten Treffer. risk_factors ist auf die fünf stärksten Treiber begrenzt. source_of_funds und destination_of_funds enthalten dagegen immer die vollständige Aufschlüsselung.risk_factors ist ein Feld auf oberster Ebene, nicht ein verschachteltes Feld. Ergebnisse, die vor dessen Einführung erstellt wurden, enthalten den Schlüssel gar nicht. Lesen Sie ihn in diesem Fall als leere Liste, statt eine leere Erklärung anzunehmen.

Aufschlüsselung der Exposition

Jeder Eintrag in source_of_funds / destination_of_funds beschreibt eine Entität, mit der die Adresse Geld ausgetauscht hat:

Verbindungen zu Gegenparteien

counterparty_connections listet die Entitäten auf, denen der Anbieter die gescreente Adresse zuordnet. Bei Merkle Science stammen diese aus den eigenen Eigentümer- und Benutzer-Tags der Adresse. Dieselbe Entität kann daher zweimal erscheinen, und es werden keine Geldflüsse ausgewiesen: received_usd, sent_usd, received_hops und sent_hops sind null, und percentage ist 0.0. Die Geldflüsse lesen Sie aus source_of_funds und destination_of_funds.
Treffen Sie keine Routing-Entscheidungen auf Basis von counterparty_connections[].risk_level oder counterparty_connections[].is_direct. Bei Merkle Science wiederholt das erste die eigene Bewertung der Adresse (lesen Sie dafür risk_score), und das zweite ist immer true. Für das Ergebnis verwenden Sie sanctions_hit, dominant_risk_category und risk_factors[].is_high_risk. Für die Direktheit verwenden Sie exposure_type in source_of_funds / destination_of_funds.

Beispiel

Eine echte Antwort für eine Adresse auf der OFAC-Sanktionsliste, geprüft mit Merkle Science. Nur raw_response wurde gekürzt und report_signature ersetzt:
Die Beispiele veranschaulichen die Struktur der Antwort, sie sind kein garantiertes Ergebnis für eine reale Adresse. Risiko-Scores und Sanktionsexposition hängen vom gewählten Netzwerk, aktuellen Erkenntnissen und der konfigurierten Risikorichtlinie ab. Eine Börsen-Zuordnung bedeutet nicht, dass der Risiko-Score null ist: Eine Börsen-Wallet kann über ihre Geldflüsse eine Sanktionsexposition haben. sanctions_hit: true kann bedeuten, dass die Wallet selbst sanktioniert ist, oder nur, dass ihre Gelder einer Sanktionsexposition ausgesetzt sind. Allein daraus folgt also nicht, dass der Inhaber der gescreenten Wallet sanktioniert ist. Wenn dasselbe Screening für eine erfasste Transaktion läuft, können Regeln außerdem custom_values.wallet_sanctioned lesen, das nur dann true ist, wenn der Anbieter die Wallet selbst einer sanktionierten Entität zuordnet, und Regeln können außerdem custom_values.aml_sanctions_exposure_pct lesen. Siehe Screening-Felder für Regeln. Lesen Sie risk_factors, source_of_funds und destination_of_funds, um Zuordnung und Exposition zu unterscheiden. Eine Schritt-für-Schritt-Anleitung finden Sie unter Krypto- und Wallet-Screening.

PDF-Bericht

Um einen PDF-Bericht mit Didit-Branding zu einem Screening-Ergebnis zu erhalten, senden Sie den unveränderten Antworttext einschließlich report_signature erneut an POST /v3/wallet-screening/pdf/. Der Vorgang ist zustandslos: Es erfolgt kein Aufruf beim Anbieter, es fällt keine zusätzliche Abrechnung an, und nichts wird gespeichert. Wenn Sie vor dem erneuten Senden ein signiertes Feld ändern (risk_score, severity, sanctions_hit, …), schlägt die Anfrage mit 400 fehl.
Das vollständige Anfrage- und Antwortschema sowie die Fehlerformate finden Sie unter Wallet-Screening-PDF.

Abrechnung

Eine Nutzung der AML-Überwachung wird pro erfolgreichem Screening zum gleichen Tarif berechnet wie das transaktionsgekoppelte Krypto-Screening. Die Preise für verwaltete und verbundene API-Schlüssel finden Sie unter Preise. Sandbox-Anwendungen werden nicht berechnet. Validierungsfehler (400) und Fehler wegen eines nicht konfigurierten Anbieters (409) werden niemals berechnet.

Fehler

Nächste Schritte

API-Referenz

Vollständiges Anfrage- und Antwortschema für den Endpoint Screen Wallet.

Screen Wallet PDF

Ein Screening-Ergebnis als PDF im Didit-Design darstellen.

Krypto- & Wallet-Screening

Automatisches Screening bei der Transaktionserstellung und das Ergebnismodell.
Zuletzt geändert am 7. November 2026