Skip to main content
POST
/
v3
/
wallet-screening
curl
curl -X POST 'https://verification.didit.me/v3/wallet-screening/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "wallet_address": "0x28c6c06298d514db089934071355e5743bf21d60",
    "blockchain": "ETH"
  }'
{
  "provider": "<string>",
  "screening_type": "WALLET_SCREENING",
  "risk_score": 123,
  "summary": "<string>",
  "wallet_address": "<string>",
  "blockchain": "<string>",
  "sanctions_hit": true,
  "dominant_risk_category": "<string>",
  "source_of_funds": [
    {}
  ],
  "destination_of_funds": [
    {}
  ],
  "counterparty_connections": [
    {}
  ]
}

Authorizations

x-api-key
string
header
required

Body

application/json
wallet_address
string
required

The crypto address to screen. Must match the format of the selected blockchain (e.g. a 0x-prefixed 40-hex-char address for EVM chains). Alias: address.

Example:

"0x28c6c06298d514db089934071355e5743bf21d60"

blockchain
enum<string>
required

Asset / chain identifier. One of: BTC, ETH, LTC, XRP, BCH, DOGE, TRX, SOL, MATIC, BNB, USDT, USDC. Alias: currency.

Available options:
BTC,
ETH,
LTC,
XRP,
BCH,
DOGE,
TRX,
SOL,
MATIC,
BNB,
USDT,
USDC
Example:

"ETH"

direction
enum<string>

Optional. Whether the address is being screened as an inbound (deposit) or outbound (withdrawal) counterparty. Accepts inbound, outbound, deposit, or withdrawal. Defaults to a neutral pre-transfer screen when omitted.

Available options:
inbound,
outbound,
deposit,
withdrawal

Response

The normalised wallet screening result.

provider
string

Provider that performed the screening (e.g. merklescience, crystal).

screening_type
enum<string>

Always WALLET_SCREENING for this endpoint.

Available options:
WALLET_SCREENING
risk_score
integer

Normalised 0-100 risk score. Higher means greater exposure to risky entities.

severity
enum<string>

Severity bucket derived from risk_score.

Available options:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
status
enum<string>

Screening outcome status.

Available options:
SCREENED,
PENDING,
ERROR
summary
string

Human-readable summary of the screening result.

wallet_address
string

The screened address, echoed back.

blockchain
string

The blockchain that was screened.

sanctions_hit
boolean

True if the address has direct or indirect sanctions exposure.

dominant_risk_category
string | null

Highest-weighted high-risk category, or null when none is dominant (e.g. sanctioned, mixer, stolen_funds).

source_of_funds
object[]

Percentage breakdown of where the address received funds from, by entity category.

destination_of_funds
object[]

Percentage breakdown of where the address sent funds to, by entity category.

counterparty_connections
object[]

Direct and indirect counterparty entities with received/sent amounts and risk levels.