> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Screening (KYT)

> Blockchain risk on every wallet and transaction hash. Bring your own Crystal or Merkle Science key and pay $0.02 per screening — about 10× cheaper.

**Wallet Screening** brings real-time blockchain risk to every transaction. Bring your own Crystal or Merkle Science key, plug it into a Didit workflow, and pay **\$0.02 per screening** — about 10× cheaper than going to a blockchain-analytics provider direct. Screen wallets before a transfer, transaction hashes after the fact, and pipe the results straight into the [Transaction Monitoring rules engine](/transaction-monitoring/rules).

Wallet Screening is part of Didit's **Monitoring** lifecycle stage — checks that run continuously, post-onboarding, on every flow of funds in or out of your platform.

## How it works

1. **Connect a provider.** In **Transactions → Settings → Provider Preferences** in the [Business Console](https://business.didit.me), add your Crystal or Merkle Science API key (BYOK) or pick the managed option. Default provider is Crystal.
2. **Submit a transaction with crypto details.** Set `transaction_details.currency_kind: "crypto"` and provide a wallet address in the participant matching the transfer direction. Didit screens the wallet (pre-transfer) or the transaction hash (post-transfer) automatically.
3. **Receive a standardised result.** Risk score 0-100, severity (`LOW`, `MEDIUM`, `HIGH`, `CRITICAL`), a source-of-funds breakdown, an exposure table, and a network graph. The result feeds the rules engine and triggers any matching webhooks.

## Risk signals

Every screening produces a standardised payload regardless of which provider sits behind it:

* **Risk score (0-100)** — higher means greater exposure to risky entities.
* **Severity** — `LOW`, `MEDIUM`, `HIGH`, `CRITICAL` derived from the score.
* **Source of funds** — percentage breakdown across 14+ categories (sanctioned, terrorist financing, child exploitation, ransomware, stolen funds, darknet markets, mixers, scams, high-risk exchanges, gambling, regulated exchanges, P2P, unidentified services).
* **Exposure table** — counterparty entities with direct vs. indirect hop distance, received and sent amounts, per-entity risk level.
* **Network graph** — node-edge view of the wallet's transaction relationships with centrality and depth metrics. Visualised in the [Business Console](/transaction-monitoring/console).
* **Sanctions, darknet, and mixer flags** — surfaced as discrete signals so rules can decline instantly.

## Providers

| Provider           | Status      | Managed pricing    | BYOK pricing           |
| ------------------ | ----------- | ------------------ | ---------------------- |
| **Crystal**        | Available   | \$0.18 / screening | **\$0.02 / screening** |
| **Merkle Science** | Available   | \$0.15 / screening | **\$0.02 / screening** |
| **Chainalysis**    | Coming soon | —                  | \$0.02 / screening     |
| **Elliptic**       | Coming soon | —                  | \$0.02 / screening     |

<Tip>
  **BYOK (Bring Your Own Key)** lets you connect your existing commercial agreement with a blockchain-analytics provider and pay Didit only the \$0.02 infrastructure fee per screening. If you already pay Crystal or Merkle Science elsewhere, BYOK is the cheapest way to route those screenings through a Didit workflow.
</Tip>

## Pricing

\*\*$0.02 per screening, BYOK.** No minimums, no contracts, billed pay-per-success. Managed pricing (no provider contract on your side) starts at $0.15 / \$0.18 per screening depending on provider. Volume discounts apply automatically above 100k screenings / month — see the [pricing page](https://didit.me/pricing) for details.

## Integration

The full API surface — request payloads, direction rules, pre-transfer vs. post-transfer screening, and the rule-engine integration — lives on the [Transaction Monitoring AML Screening page](/transaction-monitoring/aml-screening). Wallet Screening is enabled by setting `currency_kind: "crypto"` on the transaction and toggling the application-level default in the Console.

<CardGroup cols={2}>
  <Card title="API: crypto screening" icon="code" href="/transaction-monitoring/aml-screening">
    Pre-transfer vs. post-transfer payloads, required fields, response shape.
  </Card>

  <Card title="Rules & scoring" icon="scale-balanced" href="/transaction-monitoring/rules">
    How wallet-screening results feed the real-time rule engine.
  </Card>

  <Card title="Cases & SAR workflow" icon="folder-open" href="/transaction-monitoring/cases">
    Triage high-risk wallet hits, draft SARs, keep an audit trail.
  </Card>

  <Card title="Travel Rule" icon="route" href="/transaction-monitoring/travel-rule">
    FATF Travel Rule support for VASPs and crypto exchanges.
  </Card>
</CardGroup>
