Интеграция с CryptoCompare API

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Интеграция с CryptoCompare API
Простой
~2-3 дня
Часто задаваемые вопросы

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

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1308
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1220
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    921
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1149
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    611
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    886

Интеграция с CryptoCompare API

CryptoCompare — один из старейших агрегаторов крипторынка с данными с 2010 года. В отличие от CoinGecko и CoinMarketCap, сильная сторона CryptoCompare — исторические OHLCV данные и данные по биржам: цены с конкретных торговых пар на конкретных биржах, а не усреднённые агрегаты. Это делает его незаменимым для торговых приложений, бэктестинга стратегий и аналитических дашбордов.

Что даёт API

Цены в реальном времени/data/price, /data/pricemulti, /data/pricemultifull. Последний возвращает расширенные данные: изменение за 24h, объём, market cap, последняя биржа и цена.

Исторические OHLCV — это главное преимущество:

  • /data/v2/histominute — поминутные свечи (максимум 2000 точек за запрос)
  • /data/v2/histohour — часовые
  • /data/v2/histoday — дневные (данные с 2010 года для основных пар)

Параметр toTs позволяет пагинироваться в прошлое — для загрузки полной истории нужно несколько запросов с рекурсивным сдвигом.

WebSocket/streaming/ endpoint для real-time updates. Поддерживает подписки на торговые пары с конкретных бирж.

Типичные задачи интеграции

Получение мультивалютных цен

const response = await fetch(
  `https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,SOL&tsyms=USD,EUR&api_key=${API_KEY}`
)
const prices = await response.json()
// { BTC: { USD: 67000, EUR: 62000 }, ETH: { ... } }

Rate limit на бесплатном тарифе — 100 calls/month для некоторых endpoints, 250k calls/month для базовых. Кэшируйте результаты — цены меняются раз в несколько секунд, запрашивать их при каждом user action избыточно.

Загрузка исторических данных

async function fetchFullHistory(fsym: string, tsym: string): Promise<OHLCV[]> {
  const results: OHLCV[] = []
  let toTs = Math.floor(Date.now() / 1000)
  
  while (true) {
    const res = await fetch(
      `https://min-api.cryptocompare.com/data/v2/histoday` +
      `?fsym=${fsym}&tsym=${tsym}&limit=2000&toTs=${toTs}&api_key=${API_KEY}`
    )
    const data = await res.json()
    const candles = data.Data.Data
    
    if (candles.length === 0 || candles[0].time === 0) break
    
    results.unshift(...candles)
    toTs = candles[0].time - 1
    
    await sleep(300) // rate limit
  }
  
  return results
}

WebSocket для real-time

const ws = new WebSocket('wss://streamer.cryptocompare.com/v2?api_key=' + API_KEY)

ws.onopen = () => {
  ws.send(JSON.stringify({
    action: 'SubAdd',
    subs: ['5~CCCAGG~BTC~USD', '5~CCCAGG~ETH~USD']
    // формат: type~market~fsym~tsym
    // type 5 = агрегированная цена
  }))
}

ws.onmessage = (event) => {
  const msg = JSON.parse(event.data)
  if (msg.TYPE === '5') {
    // обновление цены
    console.log(msg.FROMSYMBOL, msg.PRICE)
  }
}

CCCAGG — агрегированная цена по всем биржам. Для цены с конкретной биржи: 5~Binance~BTC~USDT.

Ограничения и подводные камни

Данные не real-time в строгом смысле — агрегированная цена CryptoCompare отстаёт от биржевых данных на 1–5 секунд. Для HFT или арбитража — не подходит. Для дашбордов и аналитики — достаточно.

Неравномерное покрытие — для топ-100 монет данные хорошие, для малоликвидных altcoin — могут быть пропуски в истории или устаревшие цены.

API ключ в клиентском коде — распространённая ошибка. Ключ должен быть на сервере, клиент ходит к вашему proxy endpoint. Иначе ключ утечёт, превысите лимиты, получите счёт.

Лимиты по тарифам — бесплатный тариф ограничен. Для production: Starter ($29/month) или выше. Перед выбором тарифа — посчитайте реальный RPS вашего приложения.

Что делается за 2–3 дня

Серверный proxy для API запросов с кэшированием (Redis или in-memory), интеграция endpoints: текущие цены, OHLCV история, WebSocket стрим, TypeScript/Python SDK-обёртка под ваш стек, базовый UI компонент или готовые данные для вашего фронтенда.