HomeAPI
REST API

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.

POST /v1/check
{
  "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

Python
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]
JavaScript / TypeScript
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);
}
Bulk screening — Python
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

Free

Free
50/month
  • Manual checks
  • Telegram bot access
  • Basic risk score
  • OFAC SDN screening
Get Started
Most Popular

Business

$199/month
5,000/month
  • REST API access
  • All 50+ sanction lists
  • Full category flags
  • Source-of-funds trace
  • JSON audit logs
  • Email support
Get Started

Enterprise

Custom
Unlimited
  • All Business features
  • Dedicated IP
  • SLA 99.9%
  • Custom webhooks
  • Team accounts
  • Compliance reports
  • Priority support
Contact Us

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.