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

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Token Terminal API
Простая
~1 рабочий день
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1060
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

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

Token Terminal агрегирует финансовые метрики DeFi-протоколов по модели, знакомой из традиционных финансов: revenue, P/E ratio, price-to-sales, TVL, active users. Источник данных — on-chain события и субграфы The Graph, нормализованные в единую схему. API предоставляет исторические данные и текущие snapshots по 100+ протоколам.

Интеграция нужна в двух типичных сценариях: исследовательский дашборд с сравнением протоколов и инвестиционный инструмент с метриками оценки.

Структура API и ключевые эндпоинты

Token Terminal предоставляет REST API с ключом (API key в заголовке Authorization: Bearer <key>).

Основные эндпоинты:

GET /v2/projects                    — список всех протоколов
GET /v2/projects/{project_id}       — метрики одного протокола
GET /v2/projects/{project_id}/timeseries — исторические данные
GET /v2/categories                  — агрегаты по категориям (DEX, lending и т.д.)

Ключевые поля в ответе проекта:

Поле Описание
revenue Annualized protocol revenue (не путать с trading volume)
fees Gross fees (revenue + LP rewards)
tvl Total Value Locked
ps Price-to-Sales ratio
pe Price-to-Earnings ratio
dau Daily active users (on-chain)
market_cap_circulating Market cap по circulating supply

Важное разграничение: Token Terminal использует protocol revenue (доля, идущая протоколу, а не LP) как аналог net income. Для Uniswap без активированного fee switch revenue = 0, все fees идут LP. Это делает P/E Uniswap бесконечным по их методологии.

Пример запроса и обработки данных

const BASE_URL = 'https://api.tokenterminal.com/v2'

async function getProtocolMetrics(projectId: string) {
  const response = await fetch(`${BASE_URL}/projects/${projectId}`, {
    headers: {
      'Authorization': `Bearer ${process.env.TOKEN_TERMINAL_API_KEY}`
    }
  })
  
  if (!response.ok) throw new Error(`API error: ${response.status}`)
  
  const data = await response.json()
  return {
    revenue30d: data.data.revenue_30d,
    fees30d: data.data.fees_30d,
    tvl: data.data.tvl,
    ps: data.data.ps,
    pe: data.data.pe
  }
}

// Исторические данные для графика
async function getTimeseries(projectId: string, metric: string, days: number) {
  const params = new URLSearchParams({
    metric,
    granularity: 'daily',
    from: new Date(Date.now() - days * 86400000).toISOString()
  })
  
  const response = await fetch(
    `${BASE_URL}/projects/${projectId}/timeseries?${params}`,
    { headers: { 'Authorization': `Bearer ${process.env.TOKEN_TERMINAL_API_KEY}` } }
  )
  
  return response.json()
}

Rate limits и кэширование

Free tier: 100 запросов/день. Paid plans: от 10,000 до unlimited. Для дашборда с несколькими пользователями обязательно кэшировать ответы на сервере — запросы от разных клиентов к одним данным не должны умножать API-вызовы.

Рекомендуемая схема кэширования: Redis с TTL 15 минут для текущих метрик, 24 часа для исторических данных прошлых дней (они не изменятся). При превышении лимита — exponential backoff, не retry loop.

Интеграция занимает 1 день: подключение API, кэш-слой, TypeScript типы из response schema.