Zum Hauptinhalt springen
POST
curl

Autorisierungen

x-api-key
string
header
erforderlich

Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese- oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde, der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als null. Siehe https://docs.didit.me/console/api-keys.

Body

application/json
wallet_address
string
erforderlich

Die zu prüfende Krypto-Adresse oder die Netzwerk-ID. Muss zum ausgewählten Netzwerk passen (z. B. eine 40-stellige Hex-Adresse mit 0x-Präfix für EVM-Chains). Alias: address.

Beispiel:

"0x94f1b9b64e2932f6a2db338f616844400cd58e8a"

blockchain
enum<string>

Optionaler Netzwerkbezeichner. Wenn er weggelassen wird, wird das Netzwerk anhand des Adressformats ermittelt: bc1-, 1- und 3-Adressen sind Bitcoin (BTC), T-Adressen sind Tron (TRX) und Base58-öffentliche Schlüssel sind Solana (SOL). Eine 0x-Adresse ist in jedem EVM-Netzwerk gültig, sodass das Weglassen von blockchain dafür den Status 422 mit den infrage kommenden Netzwerken in candidate_chains zurückgibt. Verwaltetes Screening unterstützt BTC, ETH, LTC, XRP, BCH, DOGE, TRX, SOL, MATIC, BNB, BASE (Base), OP (Optimism), ARB (Arbitrum One), AVAX (Avalanche C-Chain), ADA (Cardano), XLM (Stellar) und HBAR (Hedera). USDT und USDC sind Legacy-Ethereum-Aliase, keine netzwerkübergreifenden Suchen. Die Abdeckung verbundener Anbieter variiert. LIGHTNING erfordert einen unterstützten verbundenen Anbieter. CELO (Celo), MODE (Mode) und PLUME (Plume) werden über ein verbundenes TRM-Labs-Konto überprüft; verwaltetes Screening antwortet für diese mit 400. Alias: currency.

Verfügbare Optionen:
BTC,
LIGHTNING,
ETH,
LTC,
XRP,
BCH,
DOGE,
TRX,
SOL,
MATIC,
BNB,
USDT,
USDC,
BASE,
OP,
ARB,
AVAX,
ADA,
XLM,
HBAR,
CELO,
MODE,
PLUME
Beispiel:

"ETH"

direction
enum<string>

Optional. Gibt an, ob die Adresse als eingehende (Einzahlung) oder ausgehende (Auszahlung) Gegenpartei gescreent wird. Akzeptiert inbound, outbound, deposit oder withdrawal. Standardmäßig wird bei Auslassung ein neutrales Pre-Transfer-Screening durchgeführt. Dies wird dem Anbieter nur als Kontext übergeben; es ändert weder den zurückgegebenen risk_score, die severity noch die Aufschlüsselungen für source_of_funds/destination_of_funds, die unabhängig von direction immer beide zurückgegeben werden. Eine Änderung oder Auslassung von direction erfordert daher kein erneutes Screening einer Adresse.

Verfügbare Optionen:
inbound,
outbound,
deposit,
withdrawal

Antwort

Das normalisierte Wallet-Screening-Ergebnis.

provider
string
erforderlich

Anbieter, der das Screening durchgeführt hat (z. B. merklescience, crystal).

screening_type
enum<string>
erforderlich

Für diesen Endpoint immer WALLET_SCREENING.

Verfügbare Optionen:
WALLET_SCREENING
risk_score
integer
erforderlich

Normalisierter Risiko-Score von 0–100. Höher bedeutet eine größere Exposition gegenüber riskanten Entitäten. Merkle Science bewertet eine Adresse von 0–5, was 0, 15, 35, 55, 75 oder 95 entspricht.

severity
enum<string>
erforderlich

Aus risk_score abgeleitete Risikogruppe: 0-9 UNKNOWN, 10-39 LOW, 40-69 MEDIUM, 70-89 HIGH, 90-100 CRITICAL. UNKNOWN ist die niedrigste Spanne, kein separater Zustand ohne Daten: risk_score 0 (der übliche Fall einer unauffälligen Adresse) bedeutet keine negative Bewertung, während ein Wert ungleich null im Bereich 1-9 ein reales, aber unter LOW liegendes Signal darstellt – werten Sie den risk_score aus, nicht nur die Spanne. Behandeln Sie UNKNOWN niemals als bestätigte Einstufung mit geringem Risiko oder unbedenkliche Bewertung; zeigen Sie dies nicht als bestanden an.

Verfügbare Optionen:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
status
enum<string>
erforderlich

Ergebnisstatus des Screenings.

Verfügbare Optionen:
SCREENED,
PENDING,
ERROR
summary
string
erforderlich

Für Menschen lesbare Zusammenfassung des Screening-Ergebnisses.

wallet_address
string
erforderlich

Die überprüfte Adresse, unverändert zurückgegeben.

blockchain
string
erforderlich

Die Blockchain, die überprüft wurde.

source_of_funds
object[]
erforderlich

Von wo die Adresse Gelder empfangen hat, zugeordnet nach Entität. Jeder Eintrag ist eine Exposure-Aufschlüsselung.

destination_of_funds
object[]
erforderlich

Wohin die Adresse Gelder gesendet hat, zugeordnet nach Entität. Gleiche Elementstruktur wie source_of_funds mit exposure_direction = outgoing.

counterparty_connections
object[]
erforderlich

Entitäten, denen der Anbieter die überprüfte Adresse zuordnet. Bei Merkle Science stammen diese aus den eigenen Eigentümer- und Benutzer-Tags der Adresse, sodass dieselbe Entität zweimal vorkommen kann und diese keine Mittelflüsse aufweisen: received_usd, sent_usd, received_hops und sent_hops sind null und percentage ist 0. Steuern Sie hier nicht anhand von risk_level oder is_direct: Verwenden Sie sanctions_hit, dominant_risk_category und risk_factors[].is_high_risk für das Urteil und exposure_type in source_of_funds/destination_of_funds für die Direktheit.

sanctions_hit
boolean
erforderlich

True, wenn die Adresse direkt oder indirekt Sanktionen ausgesetzt ist.

dominant_risk_category
string | null
erforderlich

Kategorie mit hohem Risiko mit der höchsten Gewichtung oder null, wenn keine dominiert (z. B. sanctioned, mixer, stolen_funds).

report_signature
string
erforderlich

Opake HMAC-SHA256-Signatur über genau dieses Ergebnis, beschränkt auf Ihre Anwendung. Für sich allein genommen nicht aussagekräftig – senden Sie den vollständigen Antwort-Body unverändert und einschließlich dieses Felds erneut an POST /v3/wallet-screening/pdf/, um ihn als PDF zu rendern. Der PDF-Endpoint weist die Anfrage mit 400 ab, wenn report_signature fehlt oder wenn ein signiertes Feld (z. B. risk_score, severity, sanctions_hit) vor dem erneuten Senden bearbeitet wurde.

transaction_hash
string | null

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer null.

block_timestamp
string | null

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer null.

total_value_usd
number | null

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer null.

fee_usd
number | null

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer null.

sender_rows
object[]

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer leer.

receiver_rows
object[]

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer leer.

transaction_flows
object[]

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer leer.

transaction_flows_status
string | null

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer null.

transaction_flows_error
string | null

Transaktions-Screening-Feld, gemeinsam mit der Ergebnisstruktur genutzt. Bei einem Wallet-Screening-Ergebnis immer null.

network_nodes
object[]

Knoten des Exposure-Graphen für das Transaktions-Screening. Bei einem Wallet-Screening-Ergebnis leer.

network_edges
object[]

Kanten des Exposure-Graphen für das Transaktions-Screening. Bei einem Wallet-Screening-Ergebnis leer.

pep_counterparty
boolean | null

Exposition gegenüber einer politisch exponierten Person. null, wenn kein PEP-Befund vorliegt, was derzeit jedes Ergebnis ist, da kein Anbieter einen meldet; false nur bei einem explizit negativen Screening-Ergebnis. Interpretieren Sie null nicht als abgeschlossene PEP-Prüfung.

risk_factors
object[]

Nach Rang geordnete Erklärung von risk_score: was dieses Urteil herbeigeführt hat. Anbieter bewerten eine Adresse nach ihrem eigenen Modell und geben lediglich ein Urteil zurück (Merkle Science gibt eine Ganzzahl von 0-5 zurück), sodass der Score allein nicht handlungsrelevant ist. Zuerst nach hohem Risiko, dann nach dem Wert sortiert, der durch jeden Treiber bewegt wurde, begrenzt auf die fünf stärksten; source_of_funds und destination_of_funds enthalten immer die vollständige Aufschlüsselung. Ein hoher risk_score ohne is_high_risk-Eintrag bedeutet, dass der Anbieter keine Übereinstimmung mit Sanktionen oder zugeordneten Entitäten gemeldet und die Adresse rein anhand seines eigenen Exposure-Modells bewertet hat – summary gibt dies explizit an.

raw_response
object

Die anbietereigene Payload. Ihre Struktur ist anbieterspezifisch und kann sich ohne Vorankündigung ändern: Lesen Sie die normalisierten Felder aus, anstatt sie zu parsen.

Zuletzt geändert am 7. November 2026