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 mit409 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.
Antwort
Die Antwort ist das standardisierte Screening-Ergebnis und hat dieselbe Struktur wie dasWALLET_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 insource_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.
Beispiel
Eine echte Antwort für eine Adresse auf der OFAC-Sanktionsliste, geprüft mit Merkle Science. Nurraw_response wurde gekürzt und report_signature ersetzt:
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ßlichreport_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.
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.