Turnkey AML Screening Integration (Chainalysis, Elliptic, Crystal)

Turnkey AML Screening Integration (Chainalysis, Elliptic, Crystal) A user's transaction is blocked without explanation — familiar situation? We have integrated Chainalysis, Elliptic, and Crystal in dozens of projects and know how to configure AML screening without false positives. Our experience

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1441
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    998
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1267
  • image_logo-advance_0.webp
    B2B Advance company logo design
    713
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1003

Turnkey AML Screening Integration (Chainalysis, Elliptic, Crystal)

A user's transaction is blocked without explanation — familiar situation? We have integrated Chainalysis, Elliptic, and Crystal in dozens of projects and know how to configure AML screening without false positives. Our experience allows us to implement FATF compliance in 2 weeks.

AML screening of cryptocurrency transactions is a mandatory compliance element for any platform working with crypto. The task: for every deposit or withdrawal, check whether the address is linked to sanctioned entities, darknet markets, stolen funds, or other high-risk activities. A configuration error can cost you your license or lead to bank partner account freezes. We guarantee correct risk logic setup and full process documentation.

Why AML Screening Matters for Crypto Projects

Regulators increasingly require crypto exchanges and exchangers to implement AML procedures. Without them, a company risks sanctions or losing access to banking services. Chainalysis, Elliptic, and Crystal are market leaders that automate real-time transaction checks. Our engineers are certified on each of these products.

Chainalysis vs Elliptic: Which to Choose

Provider Strengths Weaknesses
Chainalysis KYT Most comprehensive sanctions database, regulator integration High cost, complex API for beginners
Elliptic Lens Best DeFi coverage and cross-asset tracing Smaller Eastern European risk coverage
Crystal Blockchain Competitive price, Russian language support Fewer integrations with European regulators

Chainalysis is best for large exchanges with strict regulatory requirements, Elliptic for DeFi protocols, and Crystal for projects from the CIS. We help choose the optimal provider for your jurisdiction.

How Chainalysis KYT Works

Chainalysis is the market leader, used by most major exchanges and regulators for forensics. The API is divided into several products: KYT for transaction monitoring, Reactor for investigation, and Kryptos for entity data. Our experience includes Chainalysis Partner certification, ensuring correct setup from the start.

KYT API Integration

class ChainalysisClient { private readonly baseURL = "https://api.chainalysis.com"; async registerAddress(address: string, asset: "USDT" | "ETH" | "BTC" | string): Promise<void> { await this.post("/api/kyt/v2/users", { userId: address, asset, }); } async screenTransfer(params: { asset: string; network: string; transferReference: string; direction: "received" | "sent"; userId: string; outputAddress?: string; value?: string; assetAmount?: number; timestamp?: string; }): Promise<TransferRisk> { const response = await this.post("/api/kyt/v2/transfers", params); return { externalId: response.externalId, riskScore: response.riskScore, cluster: response.cluster, status: response.status, }; } async getTransferAlerts(externalId: string): Promise<Alert[]> { const response = await this.get(`/api/kyt/v2/transfers/${externalId}/alerts`); return response.alerts; } private async post(path: string, body: any): Promise<any> { const response = await fetch(`${this.baseURL}${path}`, { method: "POST", headers: { "Token": this.apiKey, "Content-Type": "application/json", }, body: JSON.stringify(body), }); return response.json(); } } 

Risk Score Categories

Score Category Automatic Action
0-39 LOW Pass
40-69 MEDIUM Flag for review
70-100 HIGH Block
N/A SEVERE Block + SAR

Categories that trigger automatic blocking regardless of score:

  • darknet_market
  • ransomware
  • stolen_funds
  • sanctions
  • terrorist_financing

Processing a Deposit

async function processDeposit(deposit: Deposit): Promise<DepositResult> { await chainalysis.registerAddress(deposit.fromAddress, deposit.asset); const risk = await chainalysis.screenTransfer({ asset: deposit.asset, network: deposit.network, transferReference: deposit.txHash, direction: "received", userId: deposit.userId, value: deposit.usdValue.toString(), assetAmount: deposit.amount, }); if (risk.status === "BLOCKED") { await freezeDeposit(deposit.id); await notifyCompliance(deposit, risk); return { status: "blocked", reason: risk.cluster?.category }; } if (risk.status === "IN_REVIEW") { await holdForReview(deposit.id); await createComplianceTask(deposit, risk); return { status: "pending_review" }; } await creditUserAccount(deposit); return { status: "approved" }; } 

Elliptic Lens / Navigator Features

Elliptic is a competitor to Chainalysis with similar functionality. It excels in DeFi screening and cross-asset tracing.

class EllipticClient { async getWalletRisk(address: string, asset: string): Promise<EllipticRisk> { const response = await this.post("/v2/wallet/synchronous", { subject: { asset, type: "address", hash: address, }, type: "wallet_exposure", customer_reference: address, }); return { riskScore: response.risk_score, exposures: response.exposures, clusters: response.entities, }; } async getTransactionRisk(txHash: string, asset: string): Promise<EllipticRisk> { return this.post("/v2/txs/synchronous", { subject: { asset, type: "transaction", hash: txHash }, type: "indirect_exposure", }); } } 

Elliptic score ranges from 0 to 10 — normalization is needed for a unified risk logic if you use both providers.

Using Crystal Blockchain for Eastern Europe

Crystal is a European player, often preferred for CIS/EU projects due to pricing and support.

const crystalResponse = await axios.post( "https://aml.crystalblockchain.com/api/v1/risks/check", { address, currency: asset, }, { headers: { "X-Auth-Apikey": CRYSTAL_API_KEY }, } ); 

How AML Screening Integration Works

The project process includes several stages:

  1. Compliance requirements analysis — study jurisdiction, operation types, required reports.
  2. Provider API connection — registration, key generation, webhook setup.
  3. Risk logic configuration — define thresholds for automatic blocking, manual review, and pass.
  4. Platform integration — embed AML calls into deposit/withdrawal flows.
  5. Historical data testing — run past transactions to calibrate thresholds.
  6. Production launch and monitoring — track false positives, adjust rules.

Why Use a Dual-Provider Strategy

For production: two providers reduce the risk of false negatives. Logic: BLOCK if at least one blocks, REVIEW if at least one flags.

Example dual-provider strategy:

async function dualProviderScreen(address: string, txHash: string): Promise<RiskDecision> { const [chainalysisResult, ellipticResult] = await Promise.allSettled([ chainalysis.screenTransfer({ transferReference: txHash, ... }), elliptic.getWalletRisk(address, asset), ]); const c = chainalysisResult.status === "fulfilled" ? chainalysisResult.value : null; const e = ellipticResult.status === "fulfilled" ? ellipticResult.value : null; if (!c && !e) throw new Error("Both AML providers unavailable"); const maxScore = Math.max( c?.riskScore ?? 0, e ? e.riskScore * 10 : 0, ); if (maxScore >= 70 || c?.status === "BLOCKED") return { decision: "BLOCK", score: maxScore }; if (maxScore >= 40) return { decision: "REVIEW", score: maxScore }; return { decision: "ALLOW", score: maxScore }; } 

A dual-provider system can reduce operational compliance costs by up to 30% by decreasing false positives.

What's Included in the Work

  • Integration documentation in Russian and English.
  • Client source code in TypeScript (compatible with Node.js and browser).
  • Dashboard setup for the compliance team (filtering, export, notifications).
  • Team training: how to interpret risk scores and respond to alerts.
  • Post-launch support: 2 weeks of monitoring and refinements.

On more than 20 projects, we've encountered all typical errors — from incorrect score normalization to timeouts under high load. We guarantee your platform will meet regulatory requirements without constant false blocks.

Order turnkey AML screening integration — we will evaluate your project within 1 day. Contact us via Telegram or email for a consultation and a preliminary commercial proposal.

Chainalysis API Documentation