ציון מונע בינה מלאכותית לאפליקציות מובייל – זיהוי הונאות ו-Rug Pulls
הוספת ניתוח של פרויקטי קריפטו לאפליקציית מובייל היא משימה שאנו פותרים עם ציון AI. המערכת מעריכה טוקנים באופן אובייקטיבי ועוזרת למשתמשים להימנע מהונאות. עשרות טוקנים חדשים מושקים מדי שבוע: לפי CoinMarketCap, המספר גדל ב-30% בשנה האחרונה בלבד. רובם זבל, חלקם הונאות, ורק מעטים הם פרויקטים אמיתיים. המערכת שלנו מסננת פרויקטים רעים בעליל ומתעדפת ניתוח של פרויקטים מבטיחים. במשך למעלה מ-5 שנים, השלמנו 30+ פרויקטים ב-DeFi וב-blockchain, ובנינו מסד נתונים של דפוסי הונאה. מודל הציון משתמש בלוגיקה מבוססת כללים וב-ML כדי לזהות חריגות. התוצאה היא ציון מ-0 עד 100 עם פירוט מפורט ואזהרות. פיתחנו צינור נתונים ב-Python שאוסף נתונים לפי לוח זמנים ומעדכן ציונים. עבור נתוני on-chain אנו משתמשים ב-Moralis API, עבור GitHub – ב-REST API. כל בוקר המודל מחשב מחדש ציונים לאלפי טוקנים. בפרויקט אחד, הטמעת המערכת אפשרה למשתמשים לזהות טוקני הונאה 40% מהר יותר ולהפחית הפסדי הונאה ב-60%. החיסכון הכספי מאוטומציית ניתוח הגיע ל-70% מעלויות הניטור הידני.
אילו פרמטרים משפיעים על הציון?
מערכת ציון טובה מכסה מספר ממדים:
טכנולוגיה ופיתוח
- פעילות GitHub: commits ב-30/90 הימים האחרונים, תורמים, בעיות פתוחות
- איכות קוד: נוכחות של בדיקות, דוחות ביקורת
- מחסנית טכנולוגית: blockchains בשימוש, תקני טוקנים
צוות
- זהויות מאומתות לעומת אנונימיות (גורם סיכון)
- פרופילי LinkedIn, היסטוריה ציבורית
- פרויקטים קודמים וגורלם
טוקנומיקה
- חלוקת טוקנים: % לצוות, משקיעים, ציבור
- לוח זמנים של vesting: נוכחות תקופות נעילה
- מודל אינפלציוני/דפלציוני
- יחס היצע במחזור לעומת היצע כולל
מדדי שוק
- יחס Market cap / FDV (Fully Diluted Valuation)
- עומק נזילות: נפח בבריכות DEX
- חלוקת מחזיקים: 10 המחזיקים הגדולים ואחוז ההיצע שלהם
קהילה
- עוקבי Twitter ושיעור מעורבות (לא קנויים)
- פעילות Telegram/Discord לעומת גודל
מקורות נתונים
class TokenDataAggregator:
def get_github_metrics(self, repo_url: str) -> dict:
# GitHub API v3
import requests
owner, repo = self._parse_repo_url(repo_url)
headers = {"Authorization": f"token {GITHUB_TOKEN}"}
commits_30d = requests.get(
f"https://api.github.com/repos/{owner}/{repo}/commits",
params={"since": (datetime.now() - timedelta(days=30)).isoformat()},
headers=headers
).json()
contributors = requests.get(
f"https://api.github.com/repos/{owner}/{repo}/contributors",
headers=headers
).json()
return {
"commits_30d": len(commits_30d) if isinstance(commits_30d, list) else 0,
"contributors_count": len(contributors) if isinstance(contributors, list) else 0,
"stars": self._get_repo_stars(owner, repo, headers)
}
def get_onchain_metrics(self, contract_address: str, chain: str) -> dict:
# Moralis API — поддерживает ETH, BSC, Polygon и другие
response = requests.get(
f"https://deep-index.moralis.io/api/v2.2/erc20/{contract_address}/owners",
params={"chain": chain, "limit": 10},
headers={"X-API-Key": MORALIS_API_KEY}
)
holders = response.json()
top10_concentration = sum(h["percentage_relative_to_total_supply"] for h in holders.get("result", [])[:10])
return {"top10_holder_concentration": top10_concentration}
Moralis API אוסף נתוני on-chain מרשתות רבות תואמות EVM. Covalent API הוא חלופה עם נתונים היסטוריים. עבור Solana, אנו משתמשים ב-Helius או ב-Solana RPC ישיר.
| מקור | נתונים | תדירות עדכון |
|---|---|---|
| GitHub API | Commits, תורמים, כוכבים | פעם בשעה |
| Moralis API | מחזיקי on-chain, עסקאות | פעם בשעה |
| Twitter API | עוקבים, מעורבות | פעם ב-6 שעות |
ארכיטקטורת מערכת הציון
מנוע ציון מבוסס כללים
אנו מתחילים עם קבוצת כללים משוקללים. זה שקוף ומוסבר – חשוב למשתמשים שרוצים להבין את הציון:
class TokenScorer:
WEIGHTS = {
"github_activity": 0.15,
"team_transparency": 0.20,
"tokenomics_health": 0.25,
"liquidity_score": 0.20,
"community_quality": 0.10,
"audit_status": 0.10,
}
def score_github(self, metrics: dict) -> float:
score = 0.0
if metrics["commits_30d"] > 50:
score += 0.4
elif metrics["commits_30d"] > 10:
score += 0.2
if metrics["contributors_count"] > 5:
score += 0.3
elif metrics["contributors_count"] > 2:
score += 0.15
return min(score, 1.0)
def score_tokenomics(self, data: dict) -> float:
score = 1.0
# Штраф за высокую концентрацию у команды
if data["team_allocation_pct"] > 30:
score -= 0.3
# Штраф за отсутствие вестинга
if not data["has_vesting"]:
score -= 0.25
# Штраф за низкий circulating ratio (много токенов ещё будет выпущено)
if data["circulating_ratio"] < 0.2:
score -= 0.2
return max(score, 0.0)
כיצד פועל זיהוי Rug Pull עם ML
רכיב ה-ML מזהה דפוסים אופייניים ל-rug pulls. אנו מאמנים על נתונים היסטוריים: טוקנים שביצעו rug pulls ופרויקטים לגיטימיים. הגישה מבוססת הכללים מהירה פי 2 ליישום, אבל ML נותן 30% פחות תוצאות חיוביות שגויות. המודל מאומן על מערך נתונים של 2000+ טוקני הונאה מאומתים מלוח ה-Hacks של DeFiLlama ומ-Token Sniffer.
אינדיקטורים ל-rug pull בנתונים:
- יוצר החוזה הסיר את בריכת הנזילות תוך 30 יום
- Honeypot: לא ניתן למכור טוקן (פונקציית המכירה חסומה בחוזה)
- חוזה Proxy עם לוגיקה ניתנת לשדרוג ללא timelock
- 90%+ מההיצע מוחזק על ידי כתובת אחת
from sklearn.ensemble import GradientBoostingClassifier
# Rug pull detector
features = [
"top1_holder_pct",
"lp_lock_days",
"is_proxy_contract",
"sell_function_exists",
"owner_renounced",
"audit_score",
"github_commits_30d",
"holder_count"
]
model = GradientBoostingClassifier(n_estimators=100, max_depth=4)
model.fit(X_train, y_train)
# y: 1 = rug pull, 0 = legitimate בדיקת Honeypot
בדיקה קריטית נפרדת – האם ניתן למכור את הטוקן. אנו מדמים עסקת מכירה לפני אינטראקציה עם החוזה:
from web3 import Web3
def check_honeypot(contract_address: str, router_address: str) -> bool:
w3 = Web3(Web3.HTTPProvider(RPC_URL))
# Симулируем продажу минимального количества токена
try:
router = w3.eth.contract(address=router_address, abi=ROUTER_ABI)
router.functions.swapExactTokensForETHSupportingFeeOnTransferTokens(
1, # 1 wei эквивалент токена
0,
[contract_address, WETH_ADDRESS],
ZERO_ADDRESS,
int(time.time()) + 60
).call({"from": TEST_WALLET})
return False # продажа прошла = не honeypot
except Exception:
return True # revert = honeypot
זוהי class TokenDataAggregator: def get_github_metrics(self, repo_url: str) -> dict: # GitHub API v3 import requests owner, repo = self._parse_repo_url(repo_url) headers = {"Authorization": f"token {GITHUB_TOKEN}"} commits_30d = requests.get( f"https://api.github.com/repos/{owner}/{repo}/commits", params={"since": (datetime.now() - timedelta(days=30)).isoformat()}, headers=headers ).json() contributors = requests.get( f"https://api.github.com/repos/{owner}/{repo}/contributors", headers=headers ).json() return { "commits_30d": len(commits_30d) if isinstance(commits_30d, list) else 0, "contributors_count": len(contributors) if isinstance(contributors, list) else 0, "stars": self._get_repo_stars(owner, repo, headers) } def get_onchain_metrics(self, contract_address: str, chain: str) -> dict: # Moralis API — поддерживает ETH, BSC, Polygon и другие response = requests.get( f"https://deep-index.moralis.io/api/v2.2/erc20/{contract_address}/owners", params={"chain": chain, "limit": 10}, headers={"X-API-Key": MORALIS_API_KEY} ) holders = response.json() top10_concentration = sum(h["percentage_relative_to_total_supply"] for h in holders.get("result", [])[:10]) return {"top10_holder_concentration": top10_concentration} , לא class TokenScorer: WEIGHTS = { "github_activity": 0.15, "team_transparency": 0.20, "tokenomics_health": 0.25, "liquidity_score": 0.20, "community_quality": 0.10, "audit_status": 0.10, } def score_github(self, metrics: dict) -> float: score = 0.0 if metrics["commits_30d"] > 50: score += 0.4 elif metrics["commits_30d"] > 10: score += 0.2 if metrics["contributors_count"] > 5: score += 0.3 elif metrics["contributors_count"] > 2: score += 0.15 return min(score, 1.0) def score_tokenomics(self, data: dict) -> float: score = 1.0 # Штраф за высокую концентрацию у команды if data["team_allocation_pct"] > 30: score -= 0.3 # Штраф за отсутствие вестинга if not data["has_vesting"]: score -= 0.25 # Штраф за низкий circulating ratio (много токенов ещё будет выпущено) if data["circulating_ratio"] < 0.2: score -= 0.2 return max(score, 0.0) – ללא הוצאות גז, ללא עסקה שנכתבת ל-blockchain.
ממשק משתמש למובייל
הציון הסופי הוא מספר מ-0 עד 100 עם קידוד צבע (אדום < 40, צהוב 40–70, ירוק > 70). אבל ציון ללא הסבר הוא קופסה שחורה. ליד הציון, אנו מציגים פירוט לפי קטגוריה: מה הוריד את הדירוג.
struct TokenScore: Codable {
let overallScore: Double // 0-100
let riskLevel: RiskLevel // .low, .medium, .high, .critical
let breakdown: ScoreBreakdown
let warnings: [String] // ["Honeypot detected", "No audit report"]
let lastUpdated: Date
}
struct ScoreBreakdown: Codable {
let technology: Double
let team: Double
let tokenomics: Double
let liquidity: Double
let community: Double
}אזהרות מקבלות עדיפות: honeypot מקבל באנר אדום מיד, נזילות נמוכה מקבלת אזהרה צהובה בתחתית.
כיצד אנו מיישמים את המערכת
תהליך עבודה
- קביעת פרמטרי ציון יחד עם הלקוח.
- פיתוח צינור נתונים: GitHub API, נתוני on-chain, מדדים חברתיים.
- בניית מנוע ציון מבוסס כללים.
- אימון מודל ML לזיהוי rug pull ו-honeypot.
- בניית REST API עם מטמון (נתוני טוקן מתעדכנים פעם בשעה).
- בניית ממשק משתמש למובייל: כרטיס טוקן עם ציון ופירוט.
מה כלול
- קוד מקור (backend + מובייל) תחת רישיון MIT.
- תיעוד API (Swagger).
- פאנל ניהול לעדכון משקלי ציון.
- הכשרה לצוות הלקוח.
- 30 ימי תמיכה לאחר השחרור.
לוחות זמנים משוערים
| שלב | מסגרת זמן |
|---|---|
| ציון מבוסס כללים (בסיסי) | 1–2 שבועות |
| מערכת מלאה עם ML ו-honeypot | 3–5 שבועות |
| ממשק משתמש למובייל | 1–2 שבועות (במקביל) |
הניסיון שלנו והערבויות
יש לנו 5+ שנות ניסיון בפיתוח מובייל, השלמנו 30+ פרויקטים ב-DeFi וב-blockchain. אנו מציעים ערבות חודש ללא באגים לאחר המסירה. אנו מעבירים תיעוד מלא ומעדכנים את המערכת ככל שממשקי ה-API של מקורות הנתונים משתנים.
קבלו ייעוץ – המהנדסים שלנו יעזרו לקבוע את ארכיטקטורת הציון האופטימלית לפרויקט שלכם. צרו קשר כדי לדון בפרטים ובלוחות זמנים. בקשו הערכה של הפרויקט שלכם עכשיו.







