פיתוח מחשבון תשואה לאסטרטגיות DeFi
משתמש רואה 45% APY על פלטפורמה ומפקיד נכסים. שלושה חודשים לאחר מכן, כשמושך, הוא מקבל רק 8% בדולרים. השאר נאכל על ידי עמלות כניסה ויציאה, גז על 12 עסקאות, הפסד בלתי-קבוע בבריכה, ומסים על טוקני תגמול שאיבדו 70% מערכם בזמן הקציר. נתקלנו במצבים כאלה עשרות פעמים — לכן פיתחנו מחשבון תשואה שמראה את התמונה האמיתית לפני קבלת החלטה. הכלי שלנו עובד עבור עמדות LP, הלוואות ו-staking על Ethereum, Polygon, Arbitrum ורשתות אחרות. המחשבון מתממשק לפרוטוקולים מרכזיים: Aave, Compound, Uniswap, Curve ו-Balancer. הוא מתחשב לא רק ב-APY אלא גם בגז, IL, שינויי מחירי טוקנים ומסים. הזמינו פיתוח מחשבון כזה במפתח מוכן — נבחן את הפרויקט שלכם ונציע פתרון.
אילו פרמטרים חייבים להילקח בחשבון בעת חישוב תשואה?
במה שונה APY מ-APR?
APR (שיעור ריבית שנתי) הוא ריבית פשוטה ללא השקעה חוזרת. APY (תשואה שנתית אפקטיבית) כולל ריבית דריבית. ההבדל משמעותי:
- APR 50% → APY ≈ 64.8% עם ריבית דריבית יומית
- APR 50% → APY ≈ 100% עם ריבית דריבית בכל בלוק (~12 שניות ב-Ethereum)
הנוסחה ל-APY מ-APR: APY = (1 + APR/n)^n - 1, כאשר n הוא מספר תקופות הריבית הדריבית בשנה.
הבעיה: ב-DeFi, APY מוצג לעיתים קרובות בהנחה של שיעור קבוע וריבית דריבית מקסימלית. במציאות, השיעור משתנה בכל בלוק, וגז עבור כל פעולת ריבית דריבית מפחית את התשואה האמיתית. ריבית דריבית
כיצד לקבוע את תדירות הריבית הדריבית האופטימלית?
עם עלויות גז סטנדרטיות ב-Ethereum ועמדה בגודל בינוני ב-40% APR, תדירות הריבית הדריבית האופטימלית היא בערך פעם בשבעה ימים. ריבית דריבית תכופה יותר גורמת לגז לאכול יותר ממה שהריבית הדריבית מרוויחה. המחשבון מחשב את המרווח האופטימלי.
מדוע הפסד בלתי-קבוע הוא קריטי עבור ספקי נזילות?
עבור עמדות ספק נזילות, לא ניתן לחשב תשואה ללא הפסד בלתי-קבוע (IL). נוסחת ה-IL עבור Uniswap v2:
IL = 2 * sqrt(priceRatio) / (1 + priceRatio) - 1 אם בריכת ETH/USDC: ETH נכנס ב-$2000, עכשיו $3000. priceRatio = 1.5. IL ≈ -2.02%.
עבור Uniswap v3 עם נזילות מרוכזת, IL מחושב אחרת — הוא תלוי בטווח העמדה. אם המחיר יוצא מהטווח, העמדה הופכת ל-100% בנכס אחד (IL מלא, ללא עמלות שנצברו). המתמטיקה מורכבת יותר אך ניתנת ליישום: צריך לדעת tickLower, tickUpper וה-tick הנוכחי.
רכיבי תשואה אמיתיים לחישוב מלא
interface YieldComponents {
baseApr: number; // Lending APR или trading fees
rewardApr: number; // Emission rewards в токенах протокола
compoundBonus: number; // Прирост от реинвестирования
impermanentLoss: number; // Только для LP (отрицательное)
tradingFees: number; // Накопленные комиссии за период
gasCosts: number; // Все on-chain операции в USD
tokenPriceImpact: number; // Изменение цены reward токена
realYield: number; // Итого в USD
} פיתוח מחשבון שלב אחר שלב
- איסוף דרישות ובחירת פרוטוקולים לאינטגרציה
- פיתוח ספריית מתמטיקה ב-TypeScript
- חיבור מקורות נתונים: The Graph, RPC, APIs
- יישום סימולציית תרחישים ומחשבון גז
- עיצוב UI/UX עם Recharts לוויזואליזציה
- אינטגרציית ארנק דרך wagmi
- בדיקות על testnet ו-mainnet
- תיעוד והדרכת צוות
מקורות נתונים
- Aave v3:
IL = 2 * sqrt(priceRatio) / (1 + priceRatio) - 1מחזירinterface YieldComponents { baseApr: number; // Lending APR или trading fees rewardApr: number; // Emission rewards в токенах протокола compoundBonus: number; // Прирост от реинвестирования impermanentLoss: number; // Только для LP (отрицательное) tradingFees: number; // Накопленные комиссии за период gasCosts: number; // Все on-chain операции в USD tokenPriceImpact: number; // Изменение цены reward токена realYield: number; // Итого в USD }(RAY = 1e27). המרה ל-APY:getReserveData() - Compound v3:
currentLiquidityRate→(1 + rate/SECONDS_PER_YEAR)^SECONDS_PER_YEAR - 1→ חישוב APR ליניארי - Uniswap v3: עמלת APR מחושבת דרך subgraph או
getUtilization()NFT — נפח על פני 24 שעות × רמת עמלה / TVL × 365 - Curve:
getSupplyRate(utilization)עבור APY בסיסי + APR תגמול gauge דרך לוח זמנים של CRV - Balancer: vault API או subgraph עבור
positions()ונפח
ה-subgraph של The Graph הוא המקור המועדף לנתונים היסטוריים. הוא מביא נתונים פי 5 מהר יותר מקריאות RPC ישירות. קריאות RPC ישירות משמשות לשיעורים נוכחיים בזמן אמת.
סימולציה על פני אופק זמן
המחשבון לא רק מחשב APY נוכחי אלא גם מקרין על פני אופק המשתמש (30/90/365 ימים) עם מספר תרחישים:
| תרחיש | הנחות | מטרה |
|---|---|---|
| אופטימי | APR לא יורד, תגמולים +50% | פוטנציאל מקסימלי |
| בסיסי | APR יורד 20% לרבעון (צמיחת TVL) | הערכה ריאלית |
| שמרני | APR -50%, תגמולים -70% | הגנה מציפיות שגויות |
| שוק דובי | APR מינימלי, כל הנכסים -50% | מבחן לחץ |
חישוב עלות גז
לכל פעולה יש עלות גז מדידה. להלן עלויות טיפוסיות:
| פעולה | גז (יחידות) |
|---|---|
| aaveDeposit | 180,000 |
| aaveWithdraw | 210,000 |
| uniswapV3Mint | 450,000 |
| uniswapV3Collect | 280,000 |
| curveDeposit | 320,000 |
| rewardClaim | 150,000 |
const GAS_ESTIMATES = {
aaveDeposit: 180_000,
aaveWithdraw: 210_000,
uniswapV3Mint: 450_000,
uniswapV3Collect: 280_000,
curveDeposit: 320_000,
rewardClaim: 150_000,
} as const;
function calcGasCost(
operation: keyof typeof GAS_ESTIMATES,
gasPriceGwei: number
): number {
const gasUnits = GAS_ESTIMATES[operation];
const ethPrice = getCurrentEthPrice();
return (gasUnits * gasPriceGwei * 1e-9) * ethPrice; // USD
}נתוני מחירי גז היסטוריים מ-Etherscan API או The Graph — לחישוב עלות ממוצעת תחת אסטרטגיית איזון/קציר נתונה.
פונקציונליות ו-UX
סט מינימלי:
- הזנת סכום ותקופה
- בחירת פרוטוקול/אסטרטגיה (חיפוש לפי שם)
- הבאת APR נוכחי בזמן אמת מהפרוטוקולים
- שלושה תרחישים (אופטימי/בסיסי/שמרני)
- פירוט: תשואה בסיסית, תגמולים, הפסד בלתי-קבוע, עלויות גז, תשואה נטו
- השוואה זה לצד זה של מספר אסטרטגיות
בנוסף — מחשבון נקודת איזון ROI: באיזה סכום מינימלי ומשך זמן האסטרטגיה מכסה עלויות גז? זה חשוב במיוחד למשקיעים קטנים ב-Ethereum mainnet.
מחסנית טכנולוגית
Frontend: React + TypeScript, Recharts לגרפי תשואה, wagmi לחיבור ארנק. נתונים: The Graph (היסטוריות APR), Alchemy/Infura (נתוני שרשרת בזמן אמת), CoinGecko API (מחירי טוקנים). לוגיקה: ספריית TypeScript עם פונקציות טהורות לכל החישובים הפיננסיים — קלה לבדיקה ולשימוש חוזר.
לוחות זמנים
מחשבון בסיסי עבור 2-3 פרוטוקולים — 3-5 ימים. רב-פרוטוקולי עם נתונים היסטוריים, IL עבור LP ומטב גז — 1-2 שבועות. העלות מחושבת באופן אישי. מעל 5 שנים בשוק ה-DeFi, 20+ פרויקטים שהושלמו — הניסיון שלנו מבטיח דיוק חישוב וביצועים יציבים.
מה כלול בעבודה
- ניתוח דרישות ובחירת פרוטוקולים
- פיתוח לוגיקת חישוב (TypeScript)
- אינטגרציה עם נתונים בזמן אמת (The Graph, RPC)
- עיצוב ממשק UI/UX
- בדיקות על testnets ו-mainnet
- תיעוד והדרכת צוות
- חודשיים של תמיכה
הסימולציה משתמשת בנתוני APR היסטוריים, מדגמנת שינויי בריכה, מחירי טוקנים וגז. עבור כל תרחיש, 1000 איטרציות מונטה קרלו רצות עם פרמטרים מרכזיים משתנים. התוצאה היא התפלגות של תשואות אפשריות.
צרו קשר לייעוץ וקבלו גרסת הדגמה של המחשבון לפרויקט שלכם. הזמינו פיתוח מחשבון — נבחן את הפרויקט ונציע פתרון.







