Token Terminal API: מדדים פיננסיים מוכנים לאנליטיקת DeFi

איסוף ידני של מדדים פיננסיים ב-DeFi כרוך בעשרות שאילתות מפוזרות ובחישובים ארוכים של P/E ו-Revenue. אנו משלבים את Token Terminal API כך שתקבלו נתונים מוכנים על Revenue, TVL ומדדים נוספים בלוח מחוונים אחד. הצוות שלנו מספק את הפרויקט במפתח מלא—מהגדרת cache ועד תמיכה—ומבטיח אנליטיקה אמינה וסקלבילית.

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1481
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1335
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1034
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1293
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    738
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1031

Token Terminal API: מדדים פיננסיים מוכנים לניתוח DeFi

אתם משיקים דשבורד להשוואת פרוטוקולי DeFi. כל קריאת RPC יוצרת עשרות בקשות, הנתונים מפוזרים, ו-P/E והכנסות חייבים להיות מחושבים ידנית. Token Terminal API פותר זאת: הוא מאגד מדדים פיננסיים עבור 100+ פרוטוקולים באמצעות מודל המוכר מפיננסים מסורתיים—revenue, P/E ratio, price-to-sales, TVL, DAU. המהנדסים שלנו הקימו אינטגרציה עם קאשינג וטיפוסי TypeScript מלאים. עבור לקוח אחד פרסנו ניטור של 20 פרוטוקולים עם עדכונים כל 15 דקות תוך יומיים—זה הפחית את עומס ה-API פי 5.

במה Token Terminal API שונה מ-The Graph Subgraphs

ההבדל המרכזי הוא שאין צורך לכתוב שאילתות subgraph מותאמות אישית או לנרמל נתונים. קבלת P/E דרך The Graph הייתה אורכת 3–5 ימי פיתוח; דרך Token Terminal זה לוקח 30 דקות. ה-API מספק אגרגטים מוכנים לפי קטגוריה (DEX, הלוואות, RWAs), ומאיץ בניית דשבורדים השוואתיים. להלן השוואה של פרמטרים מרכזיים.

קריטריון Token Terminal API The Graph Subgraphs Dune Analytics API
זמן לקבלת P/E 30 דקות 3–5 ימים 1–2 ימים (אם יש מנוי)
מורכבות אינטגרציה נמוכה (REST, טיפוסים) גבוהה (GraphQL, הגדרת subgraph) בינונית (שאילתות SQL)
מגבלות בקשות חינמיות 100 ליום ללא הגבלה (אך מורכב) 10 שאילתות ליום
כיסוי מדדים הכנסות, עמלות, TVL, P/E, DAU כל נתוני ה-on-chain (גולמיים) דשבורדים מותאמים אישית

מבנה ה-API ונקודות קצה מרכזיות

Token Terminal מספק REST API עם מפתח (טוקן Bearer סטנדרטי בכותרת P/E). התיעוד מכסה את כל נקודות הקצה; אנו משתמשים רק באלה הנדרשות למשימה שלכם.

נקודות קצה מרכזיות:

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

שדות מרכזיים בתגובת הפרויקט:

שדה תיאור
Authorization הכנסות פרוטוקול שנתיות (לא נפח מסחר)
GET /v2/projects — список всех протоколов GET /v2/projects/{project_id} — метрики одного протокола GET /v2/projects/{project_id}/timeseries — исторические данные (daily) GET /v2/categories — агрегаты по категориям (DEX, lending и т.д.) עמלות ברוטו (הכנסות + תגמולי LP)
revenue שווי כולל נעול
fees יחס מחיר למכירות
tvl יחס מחיר לרווח — מחיר הטוקן להכנסה נטו
ps משתמשים פעילים יומיים (on-chain)
pe שווי שוק לפי היצע במחזור

הבחנה חשובה: Token Terminal משתמש בהכנסות פרוטוקול (החלק שמגיע לפרוטוקול, לא ל-LP) כאנלוגיה להכנסה נטו. עבור Uniswap ללא מתג עמלות מופעל, dau—כל העמלות הולכות ל-LP. זה הופך את ה-P/E של Uniswap לאינסופי לפי המתודולוגיה שלהם, פרט שלעתים קרובות מוחמץ בהשוואות.

למה קאשינג של בקשות Token Terminal API חשוב

המסלול החינמי נותן 100 בקשות ליום. אם לדשבורד שלכם יש 10 משתמשים וכל צפייה טוענת 5 ווידג'טים, זה 50 בקשות. ללא קאשינג, המסלול החינמי נגמר תוך יומיים. תוכניות בתשלום מתחילות ב-10,000 בקשות ליום, אבל קאשינג עדיין חוסך כסף ומאיץ טעינה.

סכמה מומלצת: Redis עם TTL של 15 דקות למדדים נוכחיים (market_cap_circulating, revenue = 0) ו-24 שעות לנתונים היסטוריים מהימים האחרונים (בלתי ניתנים לשינוי). כשפוגעים במגבלות קצב, השתמשו ב-exponential backoff, לא בלולאת retry.

איך אנחנו עושים זאת: דוגמת אינטגרציה

אנו משתמשים ב-TypeScript עם revenue לאינטראקציה עם ארנק אם נדרש, אבל הלוגיקה המרכזית רצה על tvl פשוט. דוגמת בקשה עם טיפוסים:

const BASE_URL = 'https://api.tokenterminal.com/v2'
type ProtocolMetrics = {
  revenue30d: number
  fees30d: number
  tvl: number
  ps: number
  pe: number
}

async function getProtocolMetrics(projectId: string): Promise<ProtocolMetrics> {
  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()
}

אנו מוסיפים טיפול בשגיאות, retries עם backoff, ושכבת קאשינג—הכל כלול במסירה הסטנדרטית.

מה כוללת האינטגרציה הסטנדרטית

  • חיבור API: יצירת מפתח, הגדרת גישה, תיעוד.
  • פיתוח לקוח TypeScript עם טיפוסי תגובה מלאים (כולל סדרות זמן).
  • שכבת קאשינג (Redis או בזיכרון) עם TTL ניתן להגדרה לכל נקודת קצה.
  • דשבורד מוכן (למשל, על React + Chart.js) המציג מדדים מרכזיים ותרשימים היסטוריים.
  • בדיקת מגבלות קצב, טיפול בשגיאות, וניטור דרך Tenderly או מקביל.

לוח זמנים ופורמט עבודה

האינטגרציה אורכת 2 עד 5 ימים תלוי במורכבות הדשבורד ובמספר הפרוטוקולים. אנו מספקים אחריות ל-30 יום לאחר המסירה. צרו קשר להערכה חינמית של הפרויקט שלכם—נעזור לבחור תוכנית ולתכנן את הארכיטקטורה.

שגיאות נפוצות בעבודה עם ה-API

  • אי הבחנה בין viem ל-const BASE_URL = 'https://api.tokenterminal.com/v2' type ProtocolMetrics = { revenue30d: number fees30d: number tvl: number ps: number pe: number } async function getProtocolMetrics(projectId: string): Promise<ProtocolMetrics> { 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() } . protocol revenue הוא מה שבאמת נשאר עם הפרוטוקול אחרי עמלות LP.
  • אי קאשינג של נתונים היסטוריים. הם אף פעם לא משתנים, אבל כל בקשה שורפת מכסה—אתם עלולים לפגוע במגבלה תוך שעה.
  • התעלמות ממפתחות שפגו תוקף. מפתחות Token Terminal יכולים לפג תוקף—אנו מגדירים חידוש אוטומטי דרך ניטור.

יישמנו אינטגרציות ל-5+ פרויקטים, כולל פלטפורמות אנליטיקה ודשבורדים של DeFi. קבלו ייעוץ—נעריך את המשימה שלכם ונציע פתרון אופטימלי.