שילוב סינון AML במפתח מלא (Chainalysis, Elliptic, Crystal)
העסקה של משתמש נחסמת ללא הסבר — מצב מוכר? שילבנו את Chainalysis, Elliptic ו-Crystal בעשרות פרויקטים ואנחנו יודעים כיצד להגדיר סינון AML ללא תוצאות חיוביות שגויות. הניסיון שלנו מאפשר לנו ליישם עמידה בדרישות FATF תוך שבועיים.
סינון AML של עסקאות קריפטו הוא מרכיב חובה בעמידה ברגולציה עבור כל פלטפורמה שעובדת עם קריפטו. המשימה: עבור כל הפקדה או משיכה, לבדוק אם הכתובת מקושרת לגורמים תחת סנקציות, שווקים ברשת האפלה, כספים גנובים או פעילויות בסיכון גבוה אחרות. שגיאת הגדרה יכולה לעלות לכם ברישיון או להוביל להקפאת חשבונות של שותפים בנקאיים. אנחנו מבטיחים הגדרה נכונה של לוגיקת הסיכון ותיעוד מלא של התהליך.
למה סינון AML חשוב לפרויקטי קריפטו
רגולטורים דורשים יותר ויותר מבורסות קריפטו ומחליפי קריפטו ליישם נהלי AML. בלעדיהם, חברה מסתכנת בסנקציות או באובדן גישה לשירותים בנקאיים. Chainalysis, Elliptic ו-Crystal הם מובילי שוק שמבצעים אוטומציה של בדיקות עסקאות בזמן אמת. המהנדסים שלנו מוסמכים על כל אחד מהמוצרים הללו.
Chainalysis לעומת Elliptic: מה לבחור
| ספק | חוזקות | חולשות |
|---|---|---|
| Chainalysis KYT | מאגר הסנקציות המקיף ביותר, אינטגרציה עם רגולטורים | עלות גבוהה, API מורכב למתחילים |
| Elliptic Lens | הכיסוי הטוב ביותר ל-DeFi ומעקב חוצה נכסים | כיסוי סיכונים קטן יותר במזרח אירופה |
| Crystal Blockchain | מחיר תחרותי, תמיכה בשפה הרוסית | פחות אינטגרציות עם רגולטורים אירופיים |
Chainalysis הוא הבחירה הטובה ביותר עבור בורסות גדולות עם דרישות רגולטוריות מחמירות, Elliptic עבור פרוטוקולי DeFi, ו-Crystal עבור פרויקטים מחבר העמים. אנחנו עוזרים לבחור את הספק האופטימלי עבור תחום השיפוט שלכם.
איך Chainalysis KYT עובד
Chainalysis הוא מוביל השוק, בשימוש רוב הבורסות הגדולות והרגולטורים לבדיקות פורנזיות. ה-API מחולק למספר מוצרים: KYT לניטור עסקאות, Reactor לחקירות, ו-Kryptos לנתוני ישויות. הניסיון שלנו כולל הסמכת שותף של Chainalysis, מה שמבטיח הגדרה נכונה מההתחלה.
אינטגרציית API של KYT
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();
}
} קטגוריות ציון סיכון
| ציון | קטגוריה | פעולה אוטומטית |
|---|---|---|
| 0-39 | נמוך | מעבר |
| 40-69 | בינוני | סימון לבדיקה |
| 70-100 | גבוה | חסימה |
| לא זמין | חמור | חסימה + דוח פעילות חשודה |
קטגוריות שמפעילות חסימה אוטומטית ללא קשר לציון:
-
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(); } } -
darknet_market -
ransomware -
stolen_funds -
sanctions
עיבוד הפקדה
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
Elliptic הוא מתחרה ל-Chainalysis עם פונקציונליות דומה. הוא מצטיין בסינון DeFi ובמעקב חוצה נכסים.
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 נע בין 0 ל-10 — נדרשת נורמליזציה עבור לוגיקת סיכון אחידה אם אתם משתמשים בשני הספקים.
שימוש ב-Crystal Blockchain למזרח אירופה
Crystal הוא שחקן אירופי, המועדף לעיתים קרובות עבור פרויקטים בחבר העמים/האיחוד האירופי בשל מחיר ותמיכה.
const crystalResponse = await axios.post(
"https://aml.crystalblockchain.com/api/v1/risks/check",
{
address,
currency: asset,
},
{
headers: {
"X-Auth-Apikey": CRYSTAL_API_KEY,
},
}
);
איך עובד שילוב סינון AML
תהליך הפרויקט כולל מספר שלבים:
- ניתוח דרישות עמידה ברגולציה — לימוד תחום השיפוט, סוגי פעולות, דוחות נדרשים.
- חיבור API של הספק — רישום, יצירת מפתחות, הגדרת webhook.
- הגדרת לוגיקת סיכון — הגדרת ספים לחסימה אוטומטית, בדיקה ידנית ומעבר.
- אינטגרציה לפלטפורמה — שילוב קריאות AML בזרימות הפקדה/משיכה.
- בדיקת נתונים היסטוריים — הרצת עסקאות עבר לכיול ספים.
- השקה לייצור וניטור — מעקב אחר תוצאות חיוביות שגויות, התאמת כללים.
למה להשתמש באסטרטגיית ספק כפול
לייצור: שני ספקים מפחיתים את הסיכון לתוצאות שליליות שגויות. לוגיקה: חסימה אם לפחות אחד חוסם, בדיקה אם לפחות אחד מסמן.
דוגמה לאסטרטגיית ספק כפול:
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 };
}מערכת עם ספק כפול יכולה להפחית עלויות תפעוליות של עמידה ברגולציה בעד 30% על ידי הפחתת תוצאות חיוביות שגויות.
מה כלול בעבודה
- תיעוד אינטגרציה ברוסית ובאנגלית.
- קוד מקור ללקוח ב-TypeScript (תואם ל-Node.js ולדפדפן).
- הגדרת לוח מחוונים לצוות העמידה ברגולציה (סינון, ייצוא, התראות).
- הדרכת צוות: כיצד לפרש ציוני סיכון ולהגיב להתראות.
- תמיכה לאחר השקה: שבועיים של ניטור ושיפורים.
ביותר מ-20 פרויקטים, נתקלנו בכל השגיאות האופייניות — מהנורמליזציה שגויה של ציונים ועד לזמני תגובה ארוכים בעומס גבוה. אנחנו מבטיחים שהפלטפורמה שלכם תעמוד בדרישות הרגולציה ללא חסימות שגויות קבועות.
הזמינו שילוב סינון AML במפתח מלא — נבדוק את הפרויקט שלכם תוך יום אחד. צרו קשר דרך Telegram או דוא"ל לייעוץ והצעה מסחרית ראשונית.







