Saltar para o conteúdo principal
POST
curl

Autorizações

x-api-key
string
header
obrigatório

A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está incorreta, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.

Corpo

application/json
wallet_address
string
obrigatório

O endereço de criptoativos ou identificador de rede a analisar. Deve corresponder à rede selecionada (por exemplo, um endereço de 40 carateres hexadecimais com prefixo 0x para redes EVM). Pseudónimo: address.

Exemplo:

"0x94f1b9b64e2932f6a2db338f616844400cd58e8a"

blockchain
enum<string>

Identificador de rede opcional. Quando omitido, a rede é lida a partir do formato do endereço: endereços bc1, 1 e 3 são Bitcoin (BTC), endereços T são Tron (TRX) e chaves públicas base58 são Solana (SOL). Um endereço 0x é válido em todas as redes EVM, pelo que omitir blockchain para o mesmo devolve 422 com as redes candidatas em candidate_chains. A triagem gerida suporta 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) e HBAR (Hedera). USDT e USDC são aliases legados de Ethereum, não pesquisas em várias redes. A cobertura de fornecedores associados varia. O LIGHTNING requer um fornecedor associado suportado. CELO (Celo), MODE (Mode) e PLUME (Plume) são analisados através de uma conta TRM Labs associada; a triagem gerida devolve 400 para estes. Alias: currency.

Opções disponíveis:
BTC,
LIGHTNING,
ETH,
LTC,
XRP,
BCH,
DOGE,
TRX,
SOL,
MATIC,
BNB,
USDT,
USDC,
BASE,
OP,
ARB,
AVAX,
ADA,
XLM,
HBAR,
CELO,
MODE,
PLUME
Exemplo:

"ETH"

direction
enum<string>

Opcional. Se o endereço está a ser submetido a triagem como contraparte de entrada (depósito) ou de saída (levantamento). Aceita inbound, outbound, deposit ou withdrawal. O valor predefinido é uma triagem neutra pré-transferência quando omitido. Isto é transmitido ao fornecedor apenas como contexto; não altera o risk_score, severity ou os detalhes de source_of_funds/destination_of_funds devolvidos, que são sempre ambos devolvidos independentemente da direction. Alterar ou omitir direction, portanto, não requer uma nova triagem do endereço.

Opções disponíveis:
inbound,
outbound,
deposit,
withdrawal

Resposta

O resultado normalizado da triagem de carteiras.

provider
string
obrigatório

Fornecedor que realizou a triagem (por exemplo, merklescience, crystal).

screening_type
enum<string>
obrigatório

Sempre WALLET_SCREENING para este endpoint.

Opções disponíveis:
WALLET_SCREENING
risk_score
integer
obrigatório

Pontuação de risco normalizada de 0-100. Um valor mais alto significa maior exposição a entidades de risco. A Merkle Science classifica um endereço de 0 a 5, o que mapeia para 0, 15, 35, 55, 75 ou 95.

severity
enum<string>
obrigatório

Intervalo de risco derivado de risk_score: 0-9 UNKNOWN, 10-39 LOW, 40-69 MEDIUM, 70-89 HIGH, 90-100 CRITICAL. UNKNOWN é a faixa mais baixa, não um estado separado sem dados: um risk_score de 0 (o caso comum de endereço limpo) significa que não há avaliação adversa, enquanto uma pontuação diferente de zero no intervalo de 1 a 9 é um sinal real, mas abaixo de LOW - leia o risk_score, não apenas a faixa. Nunca trate UNKNOWN como uma classificação afirmativa de baixo risco ou limpa; não a apresente como aprovação.

Opções disponíveis:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
status
enum<string>
obrigatório

Estado do resultado da triagem.

Opções disponíveis:
SCREENED,
PENDING,
ERROR
summary
string
obrigatório

Resumo legível por humanos do resultado da triagem.

wallet_address
string
obrigatório

O endereço submetido a triagem, devolvido tal como foi recebido.

blockchain
string
obrigatório

A blockchain que foi analisada.

source_of_funds
object[]
obrigatório

De onde o endereço recebeu fundos, atribuídos por entidade. Cada entrada é um detalhe de exposição.

destination_of_funds
object[]
obrigatório

Para onde o endereço enviou fundos, atribuídos por entidade. Mesma estrutura de itens que source_of_funds com exposure_direction = outgoing.

counterparty_connections
object[]
obrigatório

Entidades às quais o fornecedor atribui o endereço submetido a triagem. Para a Merkle Science, estas provêm das etiquetas de proprietário e utilizador do próprio endereço, pelo que a mesma entidade pode surgir duas vezes, e não transportam fluxos de fundos: received_usd, sent_usd, received_hops e sent_hops são null e percentage é 0. Não efetue o encaminhamento com base em risk_level ou is_direct aqui: utilize sanctions_hit, dominant_risk_category e risk_factors[].is_high_risk para o veredito, e exposure_type em source_of_funds/destination_of_funds para aferir a ligação direta.

sanctions_hit
boolean
obrigatório

True se o endereço tiver exposição direta ou indireta a sanções.

dominant_risk_category
string | null
obrigatório

Categoria de alto risco com maior peso, ou null quando nenhuma é dominante (ex.: sanctioned, mixer, stolen_funds).

report_signature
string
obrigatório

Assinatura HMAC-SHA256 opaca sobre este resultado exato, com âmbito restrito à sua aplicação. Não tem significado por si só — reenvie o corpo completo da resposta, sem modificações e incluindo este campo, para POST /v3/wallet-screening/pdf/ para o renderizar como um PDF. O endpoint de PDF rejeita o pedido com 400 se report_signature estiver em falta ou se qualquer campo assinado (por exemplo, risk_score, severity, sanctions_hit) tiver sido editado antes do reenvio.

transaction_hash
string | null

Campo de triagem de transações, partilhado com o formato do resultado. É sempre null num resultado de triagem de carteiras.

block_timestamp
string | null

Campo de triagem de transações, partilhado com o formato do resultado. É sempre null num resultado de triagem de carteiras.

total_value_usd
number | null

Campo de triagem de transações, partilhado com o formato do resultado. É sempre null num resultado de triagem de carteiras.

fee_usd
number | null

Campo de triagem de transações, partilhado com o formato do resultado. É sempre null num resultado de triagem de carteiras.

sender_rows
object[]

Campo de triagem de transações, partilhado com o formato do resultado. Está sempre vazio num resultado de triagem de carteiras.

receiver_rows
object[]

Campo de triagem de transações, partilhado com o formato do resultado. Está sempre vazio num resultado de triagem de carteiras.

transaction_flows
object[]

Campo de triagem de transações, partilhado com o formato do resultado. Está sempre vazio num resultado de triagem de carteiras.

transaction_flows_status
string | null

Campo de triagem de transações, partilhado com o formato do resultado. É sempre null num resultado de triagem de carteiras.

transaction_flows_error
string | null

Campo de triagem de transações, partilhado com o formato do resultado. É sempre null num resultado de triagem de carteiras.

network_nodes
object[]

Nós do grafo de exposição para triagem de transações. Vazio no resultado de uma triagem de carteiras.

network_edges
object[]

Arestas do grafo de exposição para triagem de transações. Vazio no resultado de uma triagem de carteiras.

pep_counterparty
boolean | null

Exposição como pessoa politicamente exposta. null quando não há qualquer conclusão de PEP disponível, o que corresponde a todos os resultados atualmente porque nenhum fornecedor o comunica; false apenas para um resultado de triagem explicitamente negativo. Não interprete null como uma verificação de PEP concluída.

risk_factors
object[]

Explicação classificada de risk_score: o que produziu este veredito. Os fornecedores avaliam um endereço no seu próprio modelo e devolvem apenas um veredito (a Merkle Science devolve um número inteiro de 0 a 5), pelo que a pontuação por si só não é acionável. Com os elementos de maior risco primeiro e, depois, ordenada pelo valor movimentado através de cada fator, limitada aos cinco mais fortes; source_of_funds e destination_of_funds incluem sempre o detalhe completo. Um risk_score elevado sem nenhuma entrada is_high_risk significa que o fornecedor não reportou sanções nem qualquer correspondência com entidades atribuídas e avaliou o endereço puramente no seu próprio modelo de exposição - o summary indica isto explicitamente.

raw_response
object

O payload próprio do fornecedor. O seu formato é específico do fornecedor e pode mudar sem aviso prévio: leia os campos normalizados em vez de o analisar diretamente.

Última modificação em 7 de novembro de 2026