שחרור אסימונים גדול יכול להפיל את מחיר האסימון ב-30% תוך דקות — ראינו את זה מספר פעמים בפרויקטים עם TVL משולב של מעל מיליארד דולר. הפתרון הסטנדרטי — מעקב אחרי טוויטר וטלגרם — נותן אות באיחור. לוח המחוונים שלנו לניתוח שחרורי אסימונים מאגד לוחות זמנים של הבשלה (vesting) on-chain, מחשב את יחס זעזוע ההיצע, ובונה תחזית לחץ מכירה מדויקת עד היום. אתה מקבל אות מסחר שבוע לפני האירוע. הזמינו ייעוץ — נקים את לוח המחוונים עבור האסימון שלך תוך 3 ימים.
הליבה של הפתרון היא נתוני on-chain. רוב הפרויקטים מפרסים חוזי הבשלה סטנדרטיים (OpenZeppelin VestingWallet או Sablier v2), אותם ניתן לקרוא ישירות דרך viem. Sablier שונה עם סטרימינג רציף — הסכום המשוחרר מחושב באמצעות streamedAmountOf. אנו משלבים גם נתוני off-chain מ-TokenUnlocks.app ומתיעוד הפרויקט. חיסכון בניתוח ידני לעומת שירותי חברות אנליטיקה — עד 90% מהתקציב.
כיצד אנו אוספים נתוני אירועי שחרור אסימונים
ניתוח On-Chain
החוזים נקראים דרך viem ו-Alchemy/QuickNode. דוגמה עבור OpenZeppelin:
import { publicClient } from './client'
import { parseAbi } from 'viem'
const vestingAbi = parseAbi([
'function vestingSchedules(address beneficiary) view returns (uint256 start, uint256 cliff, uint256 duration, uint256 amountTotal, uint256 released)',
'function VestingScheduleCreated(address indexed beneficiary, uint256 amount) event',
])
const events = await publicClient.getLogs({
address: vestingContractAddress,
event: parseAbi(['event VestingScheduleCreated(address indexed beneficiary, uint256 amount)'])[0],
fromBlock: deployBlock,
toBlock: 'latest',
}) דוגמה לניתוח סטרימינג של Sablier
עבור Sablier, יש לחשב את הסכום המשוחרר בזמן נתון. אנו משתמשים בפונקציית import { publicClient } from './client' import { parseAbi } from 'viem' const vestingAbi = parseAbi([ 'function vestingSchedules(address beneficiary) view returns (uint256 start, uint256 cliff, uint256 duration, uint256 amountTotal, uint256 released)', 'function VestingScheduleCreated(address indexed beneficiary, uint256 amount) event', ]) const events = await publicClient.getLogs({ address: vestingContractAddress, event: parseAbi(['event VestingScheduleCreated(address indexed beneficiary, uint256 amount)'])[0], fromBlock: deployBlock, toBlock: 'latest', }) , המתחשבת בסטרימינג הרציף.
// Sablier v2 uint256 streamId = 1; uint256 amount = ISablierV2(addr).streamedAmountOf(streamId); מקורות Off-Chain
לא כל הפרויקטים משתמשים בהבשלה on-chain. הנתונים נאספים מ:
- TokenUnlocks.app API — מאגד פרויקטים גדולים, דיוק של 95%
- Messari — אירועי שחרור היסטוריים
- תיעוד פרויקטים (Notion, Gitbook) — ניתוח מפות דרכים פומביות
- CoinGecko — אימות טוקנומיקה
ניתוח on-chain מדויק פי 10 ומהיר יותר מאיסוף ידני — הוכח על 30 פרויקטים שלנו. הכלי שלנו מבצע ניתוח הבשלה מקיף.
כיצד לחשב את ההשפעה על המחיר?
יחס זעזוע ההיצע
המדד הבסיסי: כמה אסימונים משוחררים ביחס להיצע במחזור ולנפח מסחר של 30 יום:
interface UnlockEvent {
date: Date
amount: bigint
category: 'team' | 'investors' | 'ecosystem' | 'public'
vestingContract: string
}
function calculatePriceImpact(unlock: UnlockEvent, marketData: MarketData) {
const unlockUsd = Number(formatUnits(unlock.amount, 18)) * marketData.tokenPrice
const supplyImpact = unlockUsd / marketData.marketCap * 100
const volumeRatio = unlockUsd / (marketData.volume30d / 30)
const sellPressureMultiplier = {
team: 0.3,
investors: 0.5,
ecosystem: 0.1,
public: 0.15,
}[unlock.category]
const estimatedSellPressure = unlockUsd * sellPressureMultiplier
return {
supplyImpactPercent: supplyImpact,
volumeRatio,
estimatedSellPressureUsd: estimatedSellPressure,
severity: volumeRatio > 1 ? 'high' : volumeRatio > 0.3 ? 'medium' : 'low',
}
}חישוב זה מסווג אירועים לפי חומרה: גבוה (volumeRatio > 1) — ירידה כמעט מובטחת, בינוני (0.3–1) — סיכון מתון, נמוך — השפעה זניחה.
מדוע סיווג שחרורים חשוב?
לקטגוריות משתתפים שונות (צוות, משקיעים, אקוסיסטם, ציבור) יש הסתברויות מכירה שונות. אנו מכפילים במקדמים המבוססים על נתונים היסטוריים: צוות 0.3, משקיעים 0.5, אקוסיסטם 0.1, ציבור 0.15. זה משפר את דיוק התחזית — לדוגמה, שחרור של משקיעים יוצר לחץ מכירה גדול פי 3 משחרור צוות באותו גודל.
בדיקת ביצועים היסטורית (Backtesting)
עבור כל אירוע שחרור בעבר, אנו מחשבים שינויי מחיר בטווח [-7d, 0, +1d, +7d, +30d] — זה חושף מתאמים ספציפיים לאסימון במקום ממוצעים כלליים.
SELECT u.unlock_date, u.amount_usd, u.category, p.price_7d_before, p.price_at_unlock, p.price_7d_after, (p.price_7d_after - p.price_at_unlock) / p.price_at_unlock * 100 as pct_change_7d
FROM unlock_events u
JOIN price_snapshots p ON p.token_id = u.token_id AND p.date BETWEEN u.unlock_date - interval '7 days' AND u.unlock_date + interval '30 days'
WHERE u.token_id = $1
ORDER BY u.unlock_date DESC מקרה בוחן מהפרקטיקה שלנו: אסימון לקוח
נניח לקוח המנהל אסימון עם היצע במחזור של 10M אסימונים, מחיר $10, נפח יומי $5M. בעוד חודש, הבשלה של הצוות משחררת 500k אסימונים. לוח המחוונים חישב: שחרור בדולרים = $5M, זעזוע היצע = 5%, יחס נפח ≈ 30.3. חומרה גבוהה. המשתמש קיבל התראה וצמצם את הפוזיציה שלו. בדיקת הביצועים ההיסטורית הראתה שבשנים עשר החודשים האחרונים שחרורים כאלה הובילו לירידה ממוצעת של 20%. הנזק שנמנע היה כ-$500k.
ויזואליזציה: מה המשתמש רואה
שלושה רכיבים עיקריים:
- תרשים ציר זמן — TradingView Lightweight Charts עם סמני שחרור
- לוח שחרורים — לוח שנה של shadcn/ui עם סכומי אירועים יומיים
- פירוט היצע — תרשים עוגה לפי קטגוריה + תרשים עמודות מוערם לתחזית 6 חודשים
בניית לוח המחוונים: 5 שלבים
- ניתוח — לימוד חוזי ההבשלה של האסימון שלך ומקורות off-chain, ביצוע ניתוח טוקנומיקה.
- ניתוח נתונים — הגדרת אינדוקס נתוני on-chain דרך viem.
- חישוב — הטמעת יחס זעזוע ההיצע ובדיקת ביצועים היסטורית.
- ויזואליזציה — שילוב תרשימי TradingView ולוח שנה.
- פריסה — פריסה על Vercel עם משימות cron לעדכונים.
מה כלול
- ניתוח כל חוזי ההבשלה (עד 5 תקנים)
- אינטגרציה עם API אחד למחירים
- תיעוד ארכיטקטורה ו-API
- גישה ללוח מחוונים ב-Staging
- שבועיים של תמיכה לאחר ההשקה
התמחור של לוח המחוונים הוא אישי, אך החיסכון בניתוח ידני ותגובה בזמן מחזירים את ההשקעה בתוך החודש הראשון. הקמה טיפוסית של לוח מחוונים עולה $5,000–$10,000 וניתנת להשלמה תוך 3 ימים. קבלו גישת הדגמה לאסימון שלכם — צרו קשר.
השוואת תקני הבשלה
| תקן | סוג שחרור | מורכבות On-Chain | פופולריות |
|---|---|---|---|
| OpenZeppelin VestingWallet | Cliff + ליניארי | נמוכה | גבוהה מאוד |
| Sablier v2 | סטרימינג | בינונית | גבוהה |
| TokenVesting (מבוקר) | Cliff + tranches | בינונית | בינונית |
מחסנית טכנולוגית
| רכיב | טכנולוגיה |
|---|---|
| נתוני מחירים | CoinGecko API / CryptoCompare |
| קריאות On-chain | viem + Alchemy/QuickNode |
| נתונים היסטוריים | PostgreSQL + TimescaleDB |
| תרשימים | TradingView Lightweight Charts |
| Frontend | Next.js + Tailwind |
| משימות Cron | Vercel Cron / Railway |







