Трейдери втрачають години на ручний збір метрик з Glassnode: дані надходять із затримками, API лімітує запити, а парсити CSV вручну — втрата часу. Ми вирішили цю проблему: розробили готову асинхронну бібліотеку для інтеграції Glassnode API у вашу торгову інфраструктуру. Вона витримує до 1000 запитів на хвилину, кешує денні дані та нормалізує відповіді під єдиний формат. Клієнти економлять до 15 годин на тиждень на ручному завантаженні, а автоматизація скорочує операційні витрати на збір даних до 30%. У перерахунку на гроші це економія до $2 000 на місяць — без найму додаткових аналітиків.
Які реальні проблеми вирішуємо
Rate limits та таймаути. Безкоштовний план Glassnode — 10 запитів на секунду, при паралельних викликах легко отримати 429. У нашій бібліотеці вбудована черга з експоненціальною затримкою (retry after). Втрата даних — 0%.
Нормалізація метрик. Відповіді різних ендпоінтів мають різну структуру — v, t, масиви з часовими мітками. Наш адаптер приводить все до єдиного формату — список словників з полями timestamp та value. Жодного ручного mapping.
Історичні пропуски. Glassnode не віддає дані за період до свого існування. Ми заповнюємо пропуски інтерполяцією за останнім відомим значенням та логуємо аномалії.
Як ми це робимо
Стек: Python 3.11+, httpx (асинхронний HTTP), asyncio. Всі запити — через єдиний клас GlassnodeClient (див. нижче). Дані кешуємо в Redis на 24 години (денні метрики оновлюються раз на добу, запитувати частіше безглуздо). Для production використовуємо пул з'єднань та повторне використання сесії — це скорочує час завантаження. Асинхронна архітектура прискорює отримання метрик в 2 рази порівняно з синхронними рішеннями.
Код ядра — 150 рядків, покриття тестами 92%. Бібліотека не залежить від зовнішніх фреймворків, підходить для будь-якого Python-проєкту.
Як отримати реальні дані через Glassnode API?
Підключаємося до API за ключем (зберігається в .env). Приклад запиту net-потоку біткоїна на біржі:
import httpx from datetime import datetime class GlassnodeClient: BASE_URL = "https://api.glassnode.com/v1/metrics" def __init__(self, api_key: str): self.api_key = api_key self.session = httpx.AsyncClient(timeout=30.0) async def get_metric(self, endpoint: str, asset: str = "BTC", since: int = None, until: int = None, interval: str = "24h") -> list[dict]: params = { "a": asset, "api_key": self.api_key, "i": interval, } if since: params["s"] = since if until: params["u"] = until resp = await self.session.get( f"{self.BASE_URL}/{endpoint}", params=params ) resp.raise_for_status() return resp.json() async def get_exchange_netflow(self, asset: str = "BTC") -> list: return await self.get_metric("transactions/transfers_volume_exchanges_net", asset) async def get_sopr(self, asset: str = "BTC") -> list: return await self.get_metric("indicators/sopr", asset) async def get_mvrv(self, asset: str = "BTC") -> list: return await self.get_metric("market/mvrv", asset) Чому варто інтегрувати Glassnode у торгову систему?
On-chain метрики — єдине об'єктивне джерело попиту та пропозиції. Вони передбачають розвороти за 1-2 тижні, на відміну від технічних індикаторів. MVRV > 3.5 сигналізує про перегрів, SOPR < 1 — про панічні продажі. Ми перетворюємо ці дані на автоматичні сигнали для вашого бота.
Порівняння тарифних планів Glassnode
| План | Метрики | Частота | Ліміт запитів |
|---|---|---|---|
| Free | Обмежений набір | Тільки день | 10/сек |
| Advanced | Всі метрики | 1 година | 50/сек |
| Institutional | Всі + бети | 1 хвилина | 500/сек, bulk |
Для торгівлі рекомендуємо Advanced: баланс ціни та продуктивності. Ми допоможемо вибрати та налаштувати потрібний план. Зв'яжіться з нами — ми проаналізуємо ваші стратегії та підберемо оптимальний.
Приклади метрик з їх призначенням
| Метрика | Що показує | Типовий сигнал |
|---|---|---|
| MVRV Ratio | Відношення ринкової до реалізованої капіталізації | >3.5 — перегрів, <1 — паніка |
| SOPR | Відношення ціни продажу до ціни покупки | <1 — продажі у збиток |
| Exchange Netflow | Чистий потік монет на біржі | Зростання — тиск продажів |
Що входить у роботу
- Розробка інтеграції під ваш стек — Python, Node.js, Go (за погодженням).
- Підключення до 20 метрик з обраних категорій (транзакції, гаманці, майнери, деривативи).
- Дворівневе кешування: Redis + in-memory для гарячих даних.
- Юніт-тести (pytest, coverage > 90%).
- Документація українською: опис API, архітектура, приклади запитів, інструкція з деплою.
- Техпідтримка 30 днів після здачі.
Процес роботи
- Аналіз — вивчаємо ваші торгові стратегії, обираємо релевантні метрики.
- Проектування — визначаємо архітектуру: де кеш, як обробляти помилки, частота оновлення.
- Реалізація — пишемо код, стримимо лінтери та тести.
- Тестування — перевіряємо на історичних даних (backtest) та live-запитах.
- Деплой — розгортаємо на вашому сервері або в хмарі, налаштовуємо моніторинг.
Терміни орієнтовно
Базовий проєкт (до 3 годин роботи над кодом) — від 3 до 5 днів. Складна інтеграція з нестандартними кешами та декількома таймфреймами — до 2 тижнів. Вартість розраховується індивідуально. Залиште заявку — оцінимо терміни та бюджет безкоштовно.
Наш досвід: 7+ років у блокчейн-розробці, понад 20 інтеграцій з криптобіржами та API on-chain даних. Гарантуємо стабільну роботу 24/7 — всі запити логуються, при помилках автоматичний рестарт. Щоб обговорити деталі та замовити інтеграцію, напишіть нам – ми підготуємо індивідуальну пропозицію.
Додаткові приклади коду
async def main():
client = GlassnodeClient(api_key="your_key")
mvrv = await client.get_mvrv()
print(mvrv)







