Skip to main content
Sometimes you need to check a crypto wallet’s AML risk before there is any transaction to record — for example, when a customer adds a withdrawal address, or when your compliance team wants to vet an address ad hoc. The on-demand wallet screening endpoint screens a single address and returns the full risk result without creating a transaction. This is the standalone counterpart to the automatic crypto screening that runs during transaction submission. Both share the same blockchain analytics providers and the same result shape.

When to use it

Wallet screening writes nothing to the transactions table. If you need the screening attached to a monitored transaction (with rules, alerts, and webhooks), submit a transaction instead.

Prerequisites

Transaction monitoring must be configured for the application — a provider with a managed key or your own BYOK key. Configure it in Transactions > Settings > Provider Preferences in the Business Console. If no provider is configured, the endpoint returns 409 Conflict.

Request

POST https://verification.didit.me/v3/wallet-screening/ Authenticate with the x-api-key header.

Response

The response is the standardised screening result — identical in shape to the WALLET_SCREENING provider result returned by transaction screening.
How severity is set. severity is the band of the normalised risk_score: 0-9UNKNOWN, 10-39LOW, 40-69MEDIUM, 70-89HIGH, 90-100CRITICAL. UNKNOWN is the lowest band, not a separate “no data” state: risk_score: 0 (the common clean-address case) means the provider returned no adverse assessment, while a non-zero score in the 1-9 range is a real but sub-LOW signal - so read the risk_score itself, not just the band. Either way, do not render UNKNOWN as an affirmative “clear” or pass.direction does not change the risk model. The optional direction field is passed to the provider as context only. It does not affect risk_score, severity, or which breakdown lists are returned: both source_of_funds and destination_of_funds are always returned regardless. Changing or omitting direction therefore does not require re-screening a previously screened address.
Each entry in source_of_funds / destination_of_funds is an exposure breakdown with these fields:
A clean address returns the same shape with risk_score near 0, sanctions_hit: false, dominant_risk_category: null, and licensed-exchange-only entries. See Crypto & Wallet Screening for a full walkthrough of the risk categories, exposure table, and network graph.

Billing

One AML monitoring usage is billed per successful screening, at the same per-screening rate as transaction-coupled crypto screening (managed or BYOK — see pricing). Sandbox applications are not billed. Validation errors (400) and unconfigured-provider errors (409) are never billed.

Errors

Next steps

API reference

Full request and response schema for the Screen Wallet endpoint.

Crypto & wallet screening

Automatic screening during transaction creation and the result model.