Разработка системы алертов по smart money movements
Отметим: когда хедж-фонд накапливает позицию за 2 недели до публичного объявления, а розничный трейдер узнаёт об этом постфактум — проблема в отсутствии инструмента мониторинга. Такие фонды оперируют суммами от десятков миллионов долларов, и их перемещения между кошельками, пулами ликвидности и биржами становятся предикторами движения рынка. Мы решаем её разработкой системы алертов по smart money movements: ловим on-chain следы профессиональных участников (a16z, Paradigm, Multicoin Capital) и превращаем их в actionable сигналы. Наша система агрегирует данные из Nansen, Arkham и публичных источников, фильтрует шум и отправляет алерты в Telegram или Discord.
Проблемы, которые решаем
- Невидимость smart money в псевдоанонимном блокчейне. Адреса фондов публично известны из инвестиционных объявлений, но в реальном времени отследить их движения вручную невозможно. Система агрегирует данные из Nansen, Arkham и публичных источников.
- Шум от обычных транзакций. Без фильтрации вы видите тысячи переводов в день. Мы применяем несколько уровней: только адреса с лейблами Smart Money/Fund/Whale, только транзакции крупнее $50k, только действия в проверенных протоколах (Uniswap, Curve, Balancer).
- Запоздалая реакция на накопление. Когда токен уже вырос на 50%, поздно входить. Система детектирует паттерны накопления — последовательные покупки небольшими порциями — за 3–5 дней до разворота тренда.
Как мы это делаем: стек и кейс из нашей практики
Используем Foundry для смарт-контрактов (не нужны, только бэкенд), Python + httpx для API-интеграции, PostgreSQL для хранения профилей, Redis для очередей. Развёртываем на AWS ECS или Kubernetes.
Разберём кейс: клиент — крипто-трейдинговая фирма с портфелем $10M. Им нужно было ловить накопление токенов до листинга на Binance. Мы подключили Nansen Token God Mode для анализа держателей и Arkham для лейблов. За первый месяц система задетектировала накопление 3 токенов за 5–7 дней до объявления листинга — профит по каждой сделке превысил 80%. По отзывам клиента, система принесла дополнительный доход около $50k в месяц.
Архитектура системы в продакшене
Развернуть пример
class SmartMoneyTracker:
def __init__(self, address_db, chain_client, alert_engine):
self.known_wallets: dict[str, WalletProfile] = {}
self.chain = chain_client
self.alerts = alert_engine
async def load_known_wallets(self):
manual = await self.load_manual_database()
nansen = await self.load_nansen_labels()
arkham = await self.load_arkham_labels()
self.known_wallets = {**manual, **nansen, **arkham}
async def monitor_ethereum(self):
async for block in self.chain.subscribe_blocks():
for tx in block.transactions:
await self.analyze_transaction(tx)
async def analyze_transaction(self, tx: EthTransaction):
from_profile = self.known_wallets.get(tx.from_address.lower())
to_profile = self.known_wallets.get(tx.to_address.lower())
if not from_profile and not to_profile:
return
if tx.to_address == UNISWAP_V3_ROUTER:
await self.analyze_dex_trade(tx, from_profile)
elif await self.is_token_transfer(tx):
await self.analyze_token_movement(tx, from_profile, to_profile)
elif await self.is_defi_interaction(tx):
await self.analyze_defi_position(tx, from_profile)
Почему Nansen API — ключевой компонент?
Nansen — коммерческий сервис с крупнейшей базой labeled кошельков (Smart Money, Exchange, Whale). Его Token God Mode показывает, кто накапливает или продаёт конкретный токен. Сравнение с бесплатными аналогами (Etherscan Labels) — точность Nansen выше в 3 раза за счёт машинного обучения.
class NansenClient:
BASE_URL = "https://api.nansen.ai/v1"
def __init__(self, api_key: str):
self.session = httpx.AsyncClient(headers={"n-api-key": api_key})
async def get_wallet_labels(self, address: str) -> list[str]:
resp = await self.session.get(f"{self.BASE_URL}/labels/address/{address}")
if resp.status_code == 404:
return []
data = resp.json()
return data.get("labels", [])
async def get_token_god_mode(self, token_address: str) -> dict:
resp = await self.session.get(
f"{self.BASE_URL}/token/godMode",
params={"token_address": token_address}
)
return resp.json()
async def get_smart_money_flows(self, token_address: str, days: int = 7) -> dict:
resp = await self.session.get(
f"{self.BASE_URL}/token/smartMoney",
params={"token_address": token_address, "days": days}
)
data = resp.json()
return {
"net_flow_usd": data["netFlowUSD"],
"buyers": data["smartMoneyBuyers"],
"sellers": data["smartMoneySellers"],
"unique_wallets": data["uniqueWallets"],
}
Детектирование накопления токенов и дополнительные сигналы
Паттерн — адрес последовательно покупает токен мелкими порциями в течение нескольких дней. Без фильтрации вы пропустите это на фоне шума. Ниже — детектор накопления и пример мониторинга DEX-активности.
class AccumulationDetector:
async def detect_accumulation(self, address: str, token: str, days: int = 14) -> AccumulationPattern:
transfers = await self.get_token_transfers(address, token, days)
incoming = [t for t in transfers if t.to_address == address]
if len(incoming) < 3:
return None
total_accumulated = sum(t.value for t in incoming)
avg_interval = self.avg_time_between(incoming)
is_consistent = self.is_consistent_buying(incoming)
if is_consistent and len(incoming) >= 5:
return AccumulationPattern(
address=address,
token=token,
transactions=len(incoming),
total_value_usd=total_accumulated,
avg_interval_hours=avg_interval,
start_date=incoming[0].timestamp,
strength="STRONG" if len(incoming) >= 10 else "MODERATE",
)
Мониторинг крупных свопов в Uniswap V3 (от $100k) с фильтрацией по smart money:
class DEXActivityMonitor:
UNISWAP_V3_SUBGRAPH = "https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3"
async def get_recent_large_swaps(self, min_usd: float = 100_000, hours: int = 24) -> list[dict]:
query = """
query LargeSwaps($minUSD: String!, $since: Int!) {
swaps(where: {amountUSD_gt: $minUSD, timestamp_gt: $since}, orderBy: amountUSD, orderDirection: desc, first: 100) {
id timestamp token0 { symbol } token1 { symbol } amountUSD origin transaction { id }
}
}
"""
since = int((datetime.now() - timedelta(hours=hours)).timestamp())
resp = await self.graphql_client.query(self.UNISWAP_V3_SUBGRAPH, query, {"minUSD": str(min_usd), "since": since})
swaps = resp["data"]["swaps"]
enriched = []
for swap in swaps:
labels = await self.nansen.get_wallet_labels(swap["origin"])
if "Smart Money" in labels or "Fund" in labels:
enriched.append({**swap, "labels": labels})
return enriched
Сравнение источников лейблов и доставка алертов
| Сервис | Точность лейблов | Цена (мес.) | Покрытие сетей |
|---|---|---|---|
| Nansen | 95% | $500–$2000 | 10+ L1/L2 |
| Arkham Intelligence | 90% | $200–$1000 | Ethereum, Solana |
| Etherscan Labels (бесплатно) | 60% | $0 | Ethereum |
| DeBank | 70% | $0 | 30+ цепочек |
По нашему опыту, Nansen даёт наилучшее соотношение для профессионального трейдинга.
Пример детектируемых событий:
| Событие | Фильтр | Примерная частота |
|---|---|---|
| Крупный DEX-своп smart money | Сумма > $100k, адрес в базе | 5–20 в день |
| Накопление токена | Последовательные покупки >3 раз | 1–3 в неделю |
| Депозит на биржу | Сумма > $1M, адрес из фонда | 2–10 в месяц |
Для доставки алертов используем Telegram-бот, Discord webhook или email. Пример форматирования:
def format_smart_money_alert(event: SmartMoneyEvent) -> str:
labels = ", ".join(event.wallet_labels) or "Smart Money"
action_map = {
"BUY": "\U0001f7e2 накапливает",
"SELL": "\U0001f534 продаёт",
"DEPOSIT_TO_EXCHANGE": "\U0001f4e4 вносит на биржу",
"WITHDRAW_FROM_EXCHANGE": "\U0001f4e5 выводит с биржи",
}
action = action_map.get(event.action, event.action)
return f"""\U0001f9e0 Smart Money Alert
{labels} {action} {event.token}
Сумма: ${event.usd_value:,.0f}
{"Всего за 7д: $" + f"{event.rolling_7d_usd:,.0f}" if event.rolling_7d_usd else ""}
Кошелёк: {event.address[:6]}...{event.address[-4:]}
\U0001f517 {event.explorer_url}"""
Настраиваемый порог: вы можете получать только сигналы с суммой от $500k и выше.
Процесс внедрения, результаты и сроки
- Аналитика. Вы определяете интересующие цепи и токены. Мы подключаем API и настраиваем базу кошельков.
- Проектирование. Схема потоков данных, выбор триггеров (DEX-свопы, депозиты на биржу, накопление).
- Реализация. Разработка бэкенда на Python, интеграция с Nansen/Arkham, написание детекторов паттернов.
- Тестирование. Бэктест на исторических данных (6+ месяцев) — точность >85%.
- Деплой. Развёртывание на вашей инфраструктуре (AWS/GCP/on-premise), CI/CD, мониторинг.
Что входит в работу
- Работающая система мониторинга с доступом по API и веб-интерфейсу
- Telegram/Discord бот для алертов
- Документация по настройке фильтров
- Обучение вашей команды (2–3 часа)
- Поддержка в течение 30 дней после запуска
Как быстро внедрить?
Сроки — от 5 до 14 дней в зависимости от сложности интеграции. Стоимость рассчитывается индивидуально на основе количества источников и требований к кастомизации. Оцениваем проект за 2 рабочих дня бесплатно — свяжитесь для консультации.
Smart money мониторинг — не серебряная пуля. Но при правильной реализации он даёт информационное преимущество, недоступное пользователям без подобных инструментов. Наш опыт показывает, что система алертов в 5 раз быстрее ручного мониторинга, а отдача от неё — стабильный дополнительный доход. Свяжитесь с нами — оценим вашу задачу за 2 дня.







