Zum Hauptinhalt springen
POST
curl

Warum der Endpoint zustandslos ist

Das eigenständige Wallet-Screening schreibt nichts in die Transaktionstabelle, daher gibt es für diesen Endpoint keinen gespeicherten Datensatz, aus dem er ein PDF erzeugen könnte. Stattdessen senden Sie das exakte JSON erneut, das POST /v3/wallet-screening/ bereits zurückgegeben hat. Didit erzeugt aus diesem Payload ein PDF, ohne erneut einen Anbieter aufzurufen.

Das Feld report_signature

Jede Antwort von POST /v3/wallet-screening/ enthält jetzt ein Feld report_signature: eine undurchsichtige Signatur, die auf Ihre Anwendung beschränkt ist. Dieser Endpoint prüft sie vor dem Rendern. So kann ein Aufrufer risk_score, severity, sanctions_hit oder ein anderes Feld nicht ändern und dennoch ein sauber aussehendes PDF mit Didit-Branding für ein Ergebnis erhalten, das Didit nie erzeugt hat. Senden Sie den vollständigen Antwortkörper immer unverändert erneut, einschließlich report_signature. Sie dürfen die Reihenfolge der Schlüssel ändern, signierte Werte dagegen nicht.

Abrechnung

Es wird kein Anbieter aufgerufen und nichts abgerechnet. Dieser Aufruf rendert lediglich ein Ergebnis erneut, für das Sie bereits beim Aufruf von POST /v3/wallet-screening/ bezahlt haben.

Fehler

Nächste Schritte

Wallet-Screening ausführen

Führen Sie das zugrunde liegende On-Demand-Wallet-Screening aus und erhalten Sie das JSON-Ergebnis, das Sie hier erneut senden.

Wallet-Screening auf Abruf

Überblick über den eigenständigen Wallet-Screening-Endpoint und das Ergebnismodell.

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

Das unveränderte JSON-Objekt, das von POST /v3/wallet-screening/ zurückgegeben wurde, einschließlich report_signature.

Gleiche Struktur wie die Antwort von POST /v3/wallet-screening/ — übergeben Sie diesen Antwort-Body unverändert zurück, einschließlich report_signature.

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.

Antwort

Das gerenderte PDF-Dokument, direkt als binäres application/pdf zurückgegeben — es gibt keinen JSON-Wrapper.

The response is of type file.

Zuletzt geändert am 7. November 2026