Реализация AI-скоринга токенов/проектов в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-скоринга токенов/проектов в мобильном приложении
Сложная
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    874
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-скоринга токенов/проектов в мобильном приложении

Каждую неделю запускаются десятки новых токенов. Большинство из них — мусор, часть — скам, единицы — реальные проекты. Скоринговая система помогает быстро отфильтровать очевидно плохие проекты и приоритизировать анализ оставшихся.

Что оцениваем: параметры скоринга

Хорошая скоринговая система охватывает несколько измерений:

Технология и разработка:

  • GitHub активность: коммиты за последние 30/90 дней, контрибьюторы, open issues
  • Качество кода: наличие тестов, audit reports
  • Технологический стек: используемые блокчейны, стандарты токенов

Команда:

  • Верифицированные личности vs анонимы (risk factor)
  • LinkedIn профили, публичная история
  • Предыдущие проекты и их судьба

Токеномика:

  • Распределение токенов: % у команды, инвесторов, паблик
  • Вестинг расписание: есть ли lock-up периоды
  • Инфляционная/дефляционная модель
  • Circulating vs total supply ratio

Рыночные метрики:

  • Market cap / FDV ratio (Fully Diluted Valuation)
  • Liquidity depth: объём в пулах DEX
  • Holder distribution: топ-10 держателей и их % от supply

Community:

  • Twitter followers и engagement rate (не накрученные)
  • Telegram/Discord активность vs размер

Источники данных

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 напрямую.

Скоринговая модель

Rule-based scoring как основа

Начинаем с набора правил с весами. Это прозрачно и объяснимо — важно для пользователей, которые хотят понимать оценку:

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)

ML поверх правил: аномалии и паттерны rug pull

ML-компонент помогает выявлять паттерны, характерные для скама. Обучаем на исторических данных: токены, которые сделали rug pull, и легитимные проекты.

Признаки rug pull в данных:

  • Создатель контракта удалил liquidity pool в течение 30 дней
  • Honeypot: нельзя продать токен (функция sell заблокирована в контракте)
  • Proxy контракт с возможностью изменить логику без timelock
  • 90%+ supply у одного адреса
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

Датасет: токены с подтверждёнными rug pull из DeFiLlama Hacks dashboard, Token Sniffer исторические данные.

Honeypot детекция

Отдельная критическая проверка — можно ли продать токен. go-ethereum / ethers.js симуляция транзакции продажи до взаимодействия с контрактом:

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

Это call, не send — газ не тратится, транзакция не пишется в блокчейн.

Мобильный UI

Финальный score — число от 0 до 100 с цветовой индикацией (красный < 40, жёлтый 40–70, зелёный > 70). Но score без объяснения — черный ящик. Рядом со score — breakdown по категориям: что снизило оценку.

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 — красный баннер сразу, низкая ликвидность — жёлтый warning внизу.

Процесс работы

Определение параметров скоринга совместно с клиентом. Разработка data pipeline (GitHub API, on-chain данные, социальные метрики). Rule-based scoring engine. ML-модель детекции rug pull / honeypot. REST API с кешированием (данные по токену — раз в час). Мобильный UI: карточка токена с score и breakdown.

Ориентиры по срокам

Rule-based скоринг с базовым набором метрик — 1–2 недели. Полная система с ML rug pull детектором, honeypot проверкой и мобильным UI — 3–5 недель.