Blockchain AML and sanctions screening for crypto addresses and transactions across 12 chains (BTC, ETH, Polygon, BNB Smart Chain, Base, Arbitrum, Optimism, Avalanche, Solana, Kaia, TRON, XRP) via...
This skill tells the agent when and how to use the chainanalyzer-aml MCP server tools.
It does not replace a compliance officer: results are risk indicators with on-chain evidence,
not legal determinations.
The MCP server chainanalyzer-aml must be configured. If its tools are not available, tell the user:
{
"mcpServers": {
"chainanalyzer-aml": {
"command": "npx",
"args": ["-y", "chainanalyzer-mcp"],
"env": { "CHAINANALYZER_API_KEY": "tfk_..." }
}
}
}
Authentication is one of:
CHAINANALYZER_API_KEY (tfk_...). Preferred. API keys are available on every plan, including Free
(10 scans/month): sign up at https://chain-analyzer.com/login?utm_source=skill and create a key under
Account → Settings → API Keys (https://chain-analyzer.com/account/settings/api_keys).X402_PRIVATE_KEY (+ X402_NETWORK = base | solana) for pay-per-request USDC via x402, no account needed.401 / 403 (missing, invalid or revoked key): stop and tell the user to create a key at the link above.
Do not retry with guessed keys.402 Payment Required (x402 mode without a funded wallet, or API-key mode where the key is absent):
explain the two options (free API key vs. x402 wallet) and let the user choose. Never ask for or echo
private keys in the conversation.429 (monthly quota or per-minute rate limit): report which limit was hit and suggest upgrading or
waiting. Rate limits by plan: Free 10/min, Starter 30/min, Pro 60/min, Business 120/min, Enterprise 300/min.| Need | Tool | Cost (x402) |
|---|---|---|
| Is this address sanctioned (OFAC / EU / UK / UN / JFSA / ScamDB)? | sanctions_check |
$0.50 |
| How risky is this address? Score, detections, ML anomaly | check_address_risk |
$1.00 |
| Where did this transaction's funds come from / go to? | trace_transaction |
$3.00 |
| Is this Bitcoin tx a CoinJoin / mixer / tumbler? | detect_coinjoin |
$1.00 |
| Which other addresses are controlled by the same actor? | cluster_wallet |
$2.50 |
| Screen a list (up to 50) | batch_screening |
$5.00 |
| Follow funds across bridges (NEAR Intents, Wormhole, Stargate, Across, deBridge, Hop, Synapse) | bridge_flow_trace |
$3.00 |
Costs apply only in x402 mode. In API-key mode each call consumes one scan from the plan quota (Free: 10/month; a batch consumes one scan per successfully screened address). Plan gates in API-key mode: batch_screening needs Starter or above (up to 50 addresses per call, 10 on Starter), bridge_flow_trace needs Business or above. A 403 from one of these means the plan is too low, not a bad key: say so and suggest the upgrade or x402.
bc1..., 1..., 3... → bitcoin0x + 40 hex → EVM. Ambiguous between Ethereum, Polygon, BNB Smart Chain, Base, Arbitrum, Optimism, Avalanche, Kaia. Use the chain the user named; if none, default to ethereum and say so.0/O/I/l → solanaT + 33 Base58 chars → tronr + 24–34 Base58 chars → xrpsanctions_check, then check_address_risk. A sanctions hit alone is sufficient to stop and report.cluster_wallet, trace_transaction or bridge_flow_trace when the risk level is medium or above, when detections mention mixers / bridges / drainers, or when the user explicitly asks to follow the money.batch_screening (≤50 per call). Split larger lists and de-duplicate first; duplicates are not re-charged by the service but waste a slot.lang: "ja" on check_address_risk when the user writes in Japanese.risk_level is one of safe / low / medium / high / critical; risk_score is 0–100.detections list the rules that fired with evidence (counterparty, tx hash, amount). Quote the evidence, not just the rule name.ml_anomaly_score is an unsupervised signal. Treat it as corroboration, never as the sole reason for a conclusion.bridge_flow_trace returns nodes with roles (solver / relay / user / exchange / bridge) and edges with on-chain tx signatures. same_intent_correlation means the source and destination legs were matched by timing and amount, which is probabilistic.Keep the answer short and evidence-first:
bridge_flow_trace covers EVM chains, Solana and Kaia only. It does not accept tron or xrp.detect_coinjoin is Bitcoin only.safe result as a guarantee. Absence of detections is not evidence of legitimacy.