Інтеграція Bitquery API: дані on-chain та моніторинг DEX

Часто розробники натикаються на граблі при інтеграції Bitquery: rate limits, відмінності схем V1 і V2, складність real-time. Ми за 5 років роботи з блокчейн-даними виробили підхід, який знімає ці проблеми. Налаштовуємо Bitquery під ваші задачі — від моніторингу DEX-торгів до whale-трекінгу — і даємо

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1310
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1005
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1012

Часто розробники натикаються на граблі при інтеграції Bitquery: rate limits, відмінності схем V1 і V2, складність real-time. Ми за 5 років роботи з блокчейн-даними виробили підхід, який знімає ці проблеми. Налаштовуємо Bitquery під ваші задачі — від моніторингу DEX-торгів до whale-трекінгу — і даємо документацію та підтримку. Bitquery індексує понад 40 блокчейнів, включаючи Ethereum, BNB Chain, Polygon, Arbitrum, Solana, і надає доступ до даних через GraphQL API. Однак кожна інтеграція вимагає глибокого розуміння схеми даних, типів запитів та особливостей версій. Ми допомагаємо вам сфокусуватися на бізнес-логіці, а не на налагодженні API.

Які проблеми вирішує інтеграція з Bitquery API?

Bitquery — GraphQL API поверх індексованих даних понад 40 блокчейнів. На словах це звучить як "просто підключи та отримуй дані". На практиці — розбиратися з V1 vs V2, rate limits, правильною пагінацією та нормалізацією. Ми беремо це на себе.

V1 vs V2: що обрати?

Характеристика V1 (api.bitquery.io) V2 (streaming.bitquery.io, EAP)
Тип запитів Query (HTTP) Query + Subscription (WebSocket)
Real-time Ні Так
Мережі Понад 40 Близько 20, розширюється
Актуальність Режим підтримки Активна розробка

Для нових проєктів ми рекомендуємо V2, якщо потрібні мережі доступні. Якщо ні — використовуємо V1 до міграції. V2 — це майбутнє: real-time, streaming, WebSocket. Якщо ваша мережа вже підтримується, міграція на V2 скорочує затримку даних з хвилин до секунд.

# V2: підписка на нові свапи Uniswap V3 у реальному часі subscription { EVM(network: eth) { DEXTrades( where: { Trade: { Dex: { ProtocolName: { is: "uniswap_v3" } } } } ) { Block { Time Number } Trade { Buy { Amount Currency { Symbol Address } } Sell { Amount Currency { Symbol Address } } Dex { PoolAddress } } } } } 

Як робити запити до DEX-даних?

Моніторинг DEX-торгівлі з OHLCV

query DEXOHLCVQuery($since: ISO8601DateTime!, $poolAddress: String!) { EVM(network: eth, dataset: archive) { DEXTradeByTokens( where: { Trade: { Dex: { SmartContract: { is: $poolAddress } } } Block: { Time: { since: $since } } } orderBy: { ascendingByField: "Block_Time" } limit: { count: 1000 } ) { Block { Time(interval: { in: minutes, count: 5 }) } Trade { open: PriceInUSD(minimum: Block_Time) high: PriceInUSD(maximum: Trade_PriceInUSD) low: PriceInUSD(minimum: Trade_PriceInUSD) close: PriceInUSD(maximum: Block_Time) volume: sum(of: Trade_Side_AmountInUSD) } } } } 

Whale-моніторинг великих переказів USDT

query WhaleTransfers($minAmount: String!) { EVM(network: eth) { Transfers( where: { Transfer: { Currency: { SmartContract: { is: "0xdac17f958d2ee523a2206206994597c13d831ec7" } } Amount: { ge: $minAmount } } } limit: { count: 50 } orderBy: { descendingByField: "Block_Time" } ) { Block { Time Number } Transfer { From To Amount Currency { Symbol } } Transaction { Hash } } } } 

Rate limits: стратегії роботи

Bitquery тарифікує запити в points — кожен запит коштує балів залежно від обсягу. Основні обмеження: запити за хвилину та місячний ліміт points. Ми застосовуємо три техніки:

  • Кешування. Історичні дані (угоди за минулі дні) кешуємо в Redis або PostgreSQL на 24+ годин. До Bitquery йдемо тільки за свіжими.
  • Пагінація через cursor. Запити з limit повертають до 1000 записів. Використовуємо offset або cursor, поки не отримаємо всі дані.
    async function fetchAllTrades(poolAddress: string, since: string) { const allTrades = []; let offset = 0; const limit = 1000; while (true) { const data = await bitquery.request(TRADES_QUERY, { poolAddress, since, limit, offset }); const trades = data.EVM.DEXTradeByTokens; allTrades.push(...trades); if (trades.length < limit) break; offset += limit; await delay(200); // поважаємо rate limit } return allTrades; } 

    Зведення стратегій:

    Стратегія Опис Застосування
    Кешування Зберігаємо історичні дані в Redis Для торгів за минулі дні
    Пагінація cursor Посторінкове вивантаження з limit/offset Пакетне завантаження великих обсягів
    Батчинг Об'єднання запитів в один GraphQL Зниження кількості HTTP round-trip

    Чому варто використовувати WebSocket для real-time?

    V2 підтримує підписки через graphql-ws. Стандартна реалізація на Node.js:

    import { createClient } from "graphql-ws"; import WebSocket from "ws"; const client = createClient({ url: "wss://streaming.bitquery.io/eap", webSocketImpl: WebSocket, connectionParams: { headers: { "X-API-KEY": process.env.BITQUERY_API_KEY } }, retryAttempts: Infinity, shouldRetry: () => true, }); const unsubscribe = client.subscribe( { query: SWAP_SUBSCRIPTION }, { next: (data) => processSwap(data.data.EVM.DEXTrades), error: (err) => logger.error("subscription error", err), complete: () => logger.info("subscription completed"), } ); 

    Зверніть увагу: V2 WebSocket потребує окремого API ключа (EAP access), який видається за запитом. WebSocket-підписки V2 доставляють події за 200-500 мс, що в 60 разів швидше за polling-запити V1 (затримка 30 секунд). Це критично для моніторингу MEV-ботів та ліквідності.

    Наприклад, для клієнта, який моніторив пули Uniswap V3, ми за допомогою підписок V2 скоротили затримку з 30 секунд до 300 мс. Це дозволило йому своєчасно реагувати на зміни ліквідності.

    Обмеження Bitquery

    Bitquery — managed сервіс, тому індексування відстає на 1-3 блоки, історичні дані можуть мати прогалини, підтримка нових мереж запізнюється. Якщо ваші вимоги включають SLA менше секунди, кастомні події без ABI або compliance на власній інфраструктурі, розгляньте альтернативи: Dune Analytics для ad-hoc SQL, The Graph для проєктних subgraph, Goldsky/Envio для high-performance індексації.

    Що входить у нашу роботу з інтеграції

    Ми надаємо повний цикл під ключ:

    1. Аналіз вимог і вибір версії API (V1/V2).
    2. Проектування схеми запитів (DEX, transfers, NFT).
    3. Реалізація з кешуванням, пагінацією, обробкою помилок.
    4. Налаштування WebSocket-підписок для real-time.
    5. Документація по ваших ендпоїнтах і прикладах.
    6. Підтримка при запуску та гарантійний період.

    Замовте інтеграцію Bitquery API та зекономте час на розробку. Зв'яжіться з нами, щоб обговорити ваш проєкт. Отримайте консультацію та попередню оцінку вартості безкоштовно.

    Чому обирають нас

    5+ років досвіду в блокчейн-розробці, 30+ успішних інтеграцій з Bitquery та іншими API. Команда senior-інженерів, які розуміють внутрішню будову Ethereum, Solana та L2. Ми не просто підключаємо API — ми будуємо надійні системи, які не падають під навантаженням.

    Зв'яжіться з нами для оцінки вашого проєкту. Отримайте безкоштовну консультацію.