Розробка системи алертів за рухами smart money
Відзначимо: коли хедж-фонд накопичує позицію за 2 тижні до публічного оголошення, а роздрібний трейдер дізнається про це постфактум — проблема у відсутності інструменту моніторингу. Такі фонди оперують сумами від десятків мільйонів доларів, і їхні переміщення між гаманцями, пулами ліквідності та біржами стають предикторами руху ринку. Ми вирішуємо її розробкою системи алертів за рухами smart money: ловимо 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. Компанія має 5 років досвіду в блокчейн-розробці та понад 20 реалізованих проектів.
Розберемо кейс: клієнт — крипто-трейдингова фірма з портфелем $10M. Їм потрібно було ловити накопичення токенів до лістингу на Binance. Ми підключили Nansen Token God Mode для аналізу власників та Arkham для лейблів. За перший місяць система задетектувала накопичення 3 токенів за 5–7 днів до оголошення лістингу — прибуток по кожній угоді перевищив 80%. За відгуками клієнта, система забезпечила додатковий дохід близько $50k на місяць. Це підтверджує, що наша система окупається за 1-2 місяці.
Архітектура системи в продакшені
Розгорнути приклад
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 рази точніший завдяки машинному навчанню. Arkham Intelligence — альтернатива з точністю 90% і ціною від $200/міс.
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 років у сфері, 20+ проектів) показує, що система алертів у 5 разів швидша за ручний моніторинг, а віддача від неї — стабільний додатковий дохід. Зв'яжіться з нами — оцінимо ваше завдання за 2 дні.







