Crypto Wallet AML Check API: Integrate in 5 Minutes
A single POST request screens any crypto wallet address against OFAC SDN, UN sanctions, darknet markets, mixer services, and ransomware payment flows. Response in 8 seconds. No credit card for free tier. For teams without engineering resources, @scorechain_amlbot handles checks via Telegram.
{
"address": "1A1zP1eP5QGefi2DMPTf...",
"chain": "BTC"
}
// Response (8s)
{
"risk_score": 87,
"risk_level": "HIGH",
"sanctions": {
"ofac_sdn": true,
"un_consolidated": false,
"eu_sanctions": true
},
"categories": [
"SANCTIONS",
"RANSOMWARE",
"DARKNET_MARKET"
],
"chain": "BTC",
"checked_at": "2026-05-22T10:30:00Z"
}8 seconds per check
Average response time for single wallet screening including OFAC SDN, UN sanctions, darknet market exposure, and mixer detection.
50+ sanction lists
Single API call screens against OFAC SDN, UN Consolidated List, EU Consolidated List, OFSI (UK), and 45+ additional databases.
JSON responses
Structured JSON output with risk score (0-100), category flags, sanction list matches, and source-of-funds trace depth.
30+ blockchains
BTC, ETH, TRX, SOL, BNB, LTC, XRP, MATIC, AVAX, and 20+ more. Auto-detect chain from address format or specify explicitly.
Code Examples
import requests
def check_wallet(address: str, chain: str = None):
response = requests.post(
"https://api.cryptoaml.ai/v1/check",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"address": address,
"chain": chain # optional, auto-detected
}
)
return response.json()
result = check_wallet("1A1zP1eP5QGef...")
print(f"Risk score: {result['risk_score']}")
print(f"OFAC match: {result['sanctions']['ofac_sdn']}")
# Batch screening
wallets = ["addr1", "addr2", "addr3"]
results = [check_wallet(w) for w in wallets]const checkWallet = async (
address: string,
chain?: string
) => {
const res = await fetch(
"https://api.cryptoaml.ai/v1/check",
{
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({ address, chain })
}
);
return res.json();
};
// Use in onboarding flow
const result = await checkWallet(walletAddress);
if (result.risk_score > 70) {
// Block transaction, trigger manual review
await flagForReview(result);
} else if (result.sanctions.ofac_sdn) {
// Immediate block + freeze
await freezeAccount(userId);
}import requests, csv
# Read wallet addresses from CSV
with open("customers.csv") as f:
reader = csv.DictReader(f)
wallets = [row["wallet_address"] for row in reader]
# Batch check (up to 1000 addresses per request)
response = requests.post(
"https://api.cryptoaml.ai/v1/batch",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"addresses": wallets}
)
results = response.json()["results"]
high_risk = [r for r in results if r["risk_score"] > 70]
print(f"Found {len(high_risk)} high-risk wallets")Rate Limits and Pricing
Business
- REST API access
- All 50+ sanction lists
- Full category flags
- Source-of-funds trace
- JSON audit logs
- Email support
Enterprise
- All Business features
- Dedicated IP
- SLA 99.9%
- Custom webhooks
- Team accounts
- Compliance reports
- Priority support
No Engineering Team? Use Telegram
@scorechain_amlbot and @ScorechainAML_bot let compliance officers run wallet checks directly in Telegram. No integration, no code. Paste a wallet address, get risk score and sanctions flags in 8 seconds.