AMLRadar
Documentation

Screening Methodology

This document describes how AMLRadar screens crypto addresses and entities, how the risk score is calculated, and what confidence level is assigned to each check. It is intended for compliance officers, MLROs, and technical teams integrating the API.

Last updated: June 17, 2026 · Version 1.2


Contents

1. Data Sources2. Wallet Screener — Check Logic3. Entity Screener — Matching Logic4. Risk Score Calculation5. Mixer Exposure Detection6. Confidence Levels7. Caching and Freshness8. Limitations and Disclaimer

1. Data Sources

AMLRadar aggregates three official sanctions lists, updated automatically every 6 hours:

SourcePublisherUpdate frequencyCrypto addresses
OFAC SDN ListUS TreasuryMonitored every 6h780+ as of June 2026
EU Consolidated ListEEASMonitored every 6h0 — list does not contain crypto addresses
UK OFSI ListHM TreasuryMonitored every 6h12 as of June 2026
Note: The EU Consolidated Sanctions List does not currently include cryptocurrency wallet addresses. This is a known limitation of the EU list format, not an AMLRadar limitation.

2. Wallet Screener — Check Logic

When you submit an address to /api/screener/check, AMLRadar performs the following checks in order:

1

Address normalization

EVM addresses (ETH, ARB, BASE, MATIC, BNB) are lowercased. All other chain addresses are stripped of whitespace.

2

Cache lookup

Results are cached for 24 hours per address/chain pair. A cached result is returned immediately with from_cache: true.

3

Sanctions database check

The normalized address is matched against all active entries using a case-insensitive exact match (SQL ILIKE).

4

High-risk address check

The address is checked against a manually curated database of known mixer addresses and addresses associated with documented hacks or scams.

5

Indirect mixer exposure (EVM only)

For EVM chains, AMLRadar queries Etherscan to retrieve the last 100 transactions and checks each counterparty against known mixer contracts.

6

Risk score calculation

A composite risk score (0–100) is calculated from all check results. See Section 4.

3. Entity Screener — Matching Logic

The entity screener (/api/screener/entity) searches names across all sanctioned entity records using three matching levels:

Match typeLogicConfidence
EXACTCase-insensitive full string match against entity_nameHIGH
PARTIALQuery is contained within entity_name, or vice versaMEDIUM
FUZZY≥2 significant tokens match, covering ≥50% of the queryLOW
Note: Entity name matching is probabilistic. FUZZY-confidence matches always require manual verification against the primary source list before taking compliance action.

4. Risk Score Calculation

The risk score is a composite integer (0–100) calculated from all check results:

FactorPointsNotes
OFAC SDN match+60Highest weight — primary enforcement list
UK OFSI match+55Direct legal effect in EU context
EU Consolidated match+50Applied when EU list contains crypto addresses
Multi-list overlap bonus+10 per additional listApplied when address appears in 2+ lists
Direct mixer (known address)+35Address is a known mixer contract or wallet
High-risk address (hack/scam)+25Associated with documented exploit or scam
Indirect mixer exposure+20 base + 2/tx (max +15)Exposure via transaction history on Etherscan

Risk levels:

CRITICAL

80–100

Direct sanctions match. Requires immediate escalation.

HIGH

50–79

Sanctions match or significant mixer exposure. Requires manual review.

MEDIUM

25–49

Partial match or indirect exposure. Flag for enhanced due diligence.

LOW

1–24

Minor adverse signal. Note in file and monitor.

NONE

0

No adverse signals found in sources checked.

Note: A score of 0 does not guarantee that an address is safe. It means no adverse signals were found in the sources checked at the time of the query.

5. Mixer Exposure Detection

Direct exposure — the address itself is a known mixer contract or wallet. Checked against the high-risk address database with HIGH confidence.

Indirect exposure — the address has transacted with a known mixer. Detected by analyzing the last 100 on-chain transactions via Etherscan. Tornado Cash contracts currently monitored:

0xd90e2f925da726b50c4ed8d0fb90ad053324f31b // Tornado Cash Router

0x722122df12d4e14e13ac3b6895a86e84145b6967 // TC 0.1 ETH pool

0x910cbd523d972eb0a6f4cae4618ad62622b39dbf // TC 1 ETH pool

0xa160cdab225685da1d56aa342ad8841c3b53f291 // TC 10 ETH pool

0xd4b88df4d29f5cedd6857912842cff3b20c8cfa3 // TC 100 ETH pool

Indirect mixer exposure is only performed for EVM chains (ETH, ARB, BASE, MATIC, BNB). Bitcoin, Solana, Tron, XRP, and Monero do not currently support this check.

6. Confidence Levels

LevelMeaningApplicable checks
HIGHExact match against official sanctions list or verified address databaseSanctions match, known mixer check
MEDIUMHeuristic analysis of on-chain data. May produce false positives.Indirect mixer exposure
LOWPartial or fuzzy text matching. Requires manual verification.Entity fuzzy match
N/ACheck not applicable for the queried chain or address typeIndirect mixer check on non-EVM chains

7. Caching and Freshness

Screening results are cached for 24 hours per address/chain pair. The cache is invalidated when:

  • The 24-hour TTL expires
  • A new sanctions entry matches the cached address
  • The cache is manually flushed by an administrator

Cached responses are indicated by from_cache: true. The checked_at timestamp reflects when the original check was performed.

Sanctions list synchronization runs every 6 hours via a scheduled job.

8. Limitations and Disclaimer

  • The EU Consolidated Sanctions List does not contain crypto addresses.
  • Indirect mixer exposure covers only the last 100 transactions. Older interactions are not detected.
  • Mixer detection is limited to Ethereum and EVM-compatible chains.
  • FUZZY-confidence entity matches always require manual verification.
  • Results reflect the state of sanctions lists at the time of the last sync (every 6 hours).
  • A CLEAR result does not constitute a legal clearance.

Disclaimer: AMLRadar provides information for compliance research purposes only. Results do not constitute legal advice and should not be relied upon as the sole basis for compliance decisions. Always verify findings against primary source lists and consult a qualified compliance professional.

Questions about the methodology? Suggestions for additional data sources?

compliance@aml-radar.com →