Langsung ke konten utama
POST
curl

Otorisasi

x-api-key
string
header
wajib

Kunci API aplikasi Anda, dari Developers -> API keys di Business Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat https://docs.didit.me/console/api-keys.

Body

application/json
wallet_address
string
wajib

Alamat kripto atau pengidentifikasi jaringan yang akan diskrining. Harus cocok dengan jaringan yang dipilih (misalnya alamat 40 karakter heksadesimal berawalan 0x untuk rantai EVM). Alias: address.

Contoh:

"0x94f1b9b64e2932f6a2db338f616844400cd58e8a"

blockchain
enum<string>

Pengidentifikasi jaringan opsional. Jika diabaikan, jaringan dibaca dari format alamat: alamat bc1, 1, dan 3 adalah Bitcoin (BTC), alamat T adalah Tron (TRX), dan kunci publik base58 adalah Solana (SOL). Alamat 0x valid di setiap jaringan EVM, sehingga mengabaikan blockchain untuk alamat tersebut akan menghasilkan respons 422 dengan kandidat jaringan di candidate_chains. Skrining terkelola mendukung 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), dan HBAR (Hedera). USDT dan USDC adalah alias lama Ethereum, bukan pencarian multi-jaringan. Cakupan penyedia terhubung bervariasi. LIGHTNING memerlukan penyedia terhubung yang didukung. CELO (Celo), MODE (Mode), dan PLUME (Plume) diskrining melalui akun TRM Labs yang terhubung; skrining terkelola menghasilkan respons 400 untuk ketiganya. Alias: currency.

Opsi yang tersedia:
BTC,
LIGHTNING,
ETH,
LTC,
XRP,
BCH,
DOGE,
TRX,
SOL,
MATIC,
BNB,
USDT,
USDC,
BASE,
OP,
ARB,
AVAX,
ADA,
XLM,
HBAR,
CELO,
MODE,
PLUME
Contoh:

"ETH"

direction
enum<string>

Opsional. Menentukan apakah alamat diskrining sebagai pihak lawan masuk/inbound (deposit) atau keluar/outbound (penarikan). Menerima inbound, outbound, deposit, atau withdrawal. Defaultnya adalah skrining pra-transfer netral jika dihilangkan. Nilai ini diteruskan ke penyedia hanya sebagai konteks; tidak mengubah risk_score, severity, atau rincian source_of_funds/destination_of_funds yang dikembalikan, yang keduanya selalu dikembalikan terlepas dari direction. Oleh karena itu, mengubah atau menghilangkan direction tidak memerlukan skrining ulang alamat.

Opsi yang tersedia:
inbound,
outbound,
deposit,
withdrawal

Respons

Hasil skrining dompet yang dinormalisasi.

provider
string
wajib

Penyedia yang melakukan skrining (misalnya merklescience, crystal).

screening_type
enum<string>
wajib

Selalu WALLET_SCREENING untuk endpoint ini.

Opsi yang tersedia:
WALLET_SCREENING
risk_score
integer
wajib

Skor risiko 0-100 yang dinormalisasi. Nilai lebih tinggi berarti paparan lebih besar terhadap entitas berisiko. Merkle Science menilai alamat 0-5, yang dipetakan ke 0, 15, 35, 55, 75, atau 95.

severity
enum<string>
wajib

Kelompok risiko diturunkan dari risk_score: 0-9 UNKNOWN, 10-39 LOW, 40-69 MEDIUM, 70-89 HIGH, 90-100 CRITICAL. UNKNOWN adalah rentang terendah, bukan status tanpa data yang terpisah: risk_score 0 (kasus alamat bersih yang umum) berarti tidak ada penilaian buruk, sedangkan skor bukan nol dalam rentang 1-9 adalah sinyal nyata tetapi di bawah LOW - baca risk_score, bukan hanya kelompoknya. Jangan pernah memperlakukan UNKNOWN sebagai indikasi afirmatif bahwa risikonya rendah atau penilaian bersih; jangan menampilkannya sebagai lolos.

Opsi yang tersedia:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
status
enum<string>
wajib

Status hasil skrining.

Opsi yang tersedia:
SCREENED,
PENDING,
ERROR
summary
string
wajib

Ringkasan hasil skrining yang dapat dibaca manusia.

wallet_address
string
wajib

Alamat yang diskrining, dikembalikan apa adanya.

blockchain
string
wajib

Blockchain yang diskrining.

source_of_funds
object[]
wajib

Dari mana alamat tersebut menerima dana, diatribusikan berdasarkan entitas. Setiap entri merupakan rincian eksposur.

destination_of_funds
object[]
wajib

Ke mana alamat tersebut mengirim dana, diatribusikan berdasarkan entitas. Bentuk item sama seperti source_of_funds dengan exposure_direction = outgoing.

counterparty_connections
object[]
wajib

Entitas yang diatribusikan penyedia ke alamat yang diskrining. Untuk Merkle Science, entitas ini berasal dari tag pemilik dan pengguna alamat itu sendiri, sehingga entitas yang sama dapat muncul dua kali, dan tidak membawa aliran dana: received_usd, sent_usd, received_hops, dan sent_hops bernilai null serta percentage adalah 0. Jangan menentukan rute berdasarkan risk_level atau is_direct di sini: gunakan sanctions_hit, dominant_risk_category, dan risk_factors[].is_high_risk untuk keputusan akhir, serta exposure_type di source_of_funds/destination_of_funds untuk menentukan apakah alirannya langsung.

sanctions_hit
boolean
wajib

True jika alamat memiliki paparan sanksi langsung atau tidak langsung.

dominant_risk_category
string | null
wajib

Kategori berisiko tinggi dengan bobot tertinggi, atau null jika tidak ada yang dominan (misalnya sanctioned, mixer, stolen_funds).

report_signature
string
wajib

Tanda tangan HMAC-SHA256 tidak transparan atas hasil persis ini, dengan cakupan ke aplikasi Anda. Tidak memiliki arti tersendiri — kirim ulang seluruh isi respons, tanpa diubah dan termasuk kolom ini, ke POST /v3/wallet-screening/pdf/ untuk merendernya sebagai PDF. Endpoint PDF menolak permintaan dengan kode 400 jika report_signature tidak ada atau jika ada kolom bertanda tangan (misalnya risk_score, severity, sanctions_hit) yang diubah sebelum dikirim ulang.

transaction_hash
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

block_timestamp
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

total_value_usd
number | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

fee_usd
number | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

sender_rows
object[]

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu kosong pada hasil skrining dompet.

receiver_rows
object[]

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu kosong pada hasil skrining dompet.

transaction_flows
object[]

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu kosong pada hasil skrining dompet.

transaction_flows_status
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

transaction_flows_error
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

network_nodes
object[]

Node graf paparan untuk skrining transaksi. Kosong pada hasil skrining dompet.

network_edges
object[]

Sisi graf paparan untuk skrining transaksi. Kosong pada hasil skrining dompet.

pep_counterparty
boolean | null

Paparan Politically Exposed Person (PEP). null jika tidak ada temuan PEP yang tersedia, yang merupakan semua hasil saat ini karena tidak ada penyedia yang melaporkannya; false hanya untuk hasil skrining negatif yang eksplisit. Jangan mengartikan null sebagai pemeriksaan PEP yang telah selesai.

risk_factors
object[]

Penjelasan berperingkat untuk risk_score: faktor apa yang menghasilkan keputusan ini. Penyedia menilai alamat berdasarkan model mereka sendiri dan hanya mengembalikan keputusan (Merkle Science mengembalikan bilangan bulat 0-5), sehingga skor saja tidak dapat ditindaklanjuti. Diurutkan dari risiko tinggi terlebih dahulu, kemudian berdasarkan nilai yang melewati setiap faktor, dibatasi hingga lima yang terkuat; source_of_funds dan destination_of_funds selalu memuat rincian lengkap. risk_score yang tinggi tanpa entri is_high_risk berarti penyedia tidak melaporkan adanya kecocokan sanksi atau entitas yang diatribusikan dan menilai alamat murni berdasarkan model eksposurnya sendiri - summary menyatakan hal ini secara eksplisit.

raw_response
object

Payload milik penyedia sendiri. Formatnya spesifik untuk tiap penyedia dan dapat berubah tanpa pemberitahuan: baca kolom yang telah dinormalisasi daripada menguraikannya.

Terakhir diubah pada 7 November 2026