אתה פותח עמדת ETH/USDC ב-Uniswap v3 בטווח $1800–$2200. ETH עולה ל-$2500 — העמדה מומרת לחלוטין ל-USDC ומפסיקה להרוויח עמלות. ללא איזון מחדש אוטומטי, אתה מפסיד הכנסה עקב הפסד בלתי-קבוע קבוע ועמלות שהוחמצו. בפועל, חוסר אוטומציה מפחית את הרווח הפוטנציאלי בעד 30% בחודש. ניטור ידני ויצירת עמדות מחדש הוא משימה לאוטומציה ברגע שיש לך יותר מעמדה אחת. לצוות שלנו יש ניסיון ב-DeFi ויישמנו מעל 20 פרויקטים לאוטומציה של עמדות LP. כל חוזה עובר ביקורת פנימית (Slither, Mythril) ואימות פורמלי של פונקציות מפתח. אנו מבטיחים קוד מאומת, מאובטח עם רקורד מוכח.
מתי ואיך לאזן מחדש
טריגרים לאיזון מחדש
גישות טריגר עיקריות: מבוסס מחיר — טריגר כאשר המחיר יוצא מהטווח (פשוט, אבל מתעלם מעמלות); מבוסס זמן — איזון מחדש כל N שעות (עלויות גז צפויות, אבל מיותר בשוק שטוח); צבירת עמלות — כאשר העמלות המצטברות עולות על עלות הגז לאיזון מחדש (אופטימלי כלכלית, אבל קשה יותר לחישוב). בפועל, אנו משתמשים בשילוב: מבוסס מחיר כעיקרי, צבירת עמלות כבדיקת כדאיות, ומפחיתים איזונים מיותרים בעד 20%.
אסטרטגיות לבחירת טווח חדש
- רוחב קבוע: טווח חדש ±N% מהמחיר הנוכחי. עבור ETH/USDC N=10–20%, עבור צמדי מטבעות יציבים 0.1–0.5%.
- רוחב מותאם תנודתיות: רוחב = k × ATR(תקופה). בתנודתיות גבוהה, הטווח רחב יותר; בתנודתיות נמוכה, צר יותר. ATR מחושב מחוץ לשרשרת. אסטרטגיה זו מפחיתה הפסד בלתי-קבוע בעד 50% בהשוואה לרוחב קבוע.
- טווח א-סימטרי: במגמה, הטווח מוזז (לדוגמה, [מחיר×0.95, מחיר×1.15]), דורש זיהוי מגמה באמצעות ממוצע נע.
| אסטרטגיה | מתי להשתמש | הפחתת הפסד בלתי-קבוע לעומת רוחב קבוע |
|---|---|---|
| רוחב קבוע | נכסים פשוטים, תנודתיות נמוכה | קו בסיס |
| מותאם תנודתיות | נכסים עם תנודתיות גבוהה | 50% |
| א-סימטרי | שוק במגמה | 30% |
איך למזער הפסד בלתי-קבוע במהלך איזון מחדש?
כל איזון מחדש קובע את ההפסד הבלתי-קבוע הנוכחי. בשוק צדדי, איזון תכוף מצטבר הפסד בלתי-קבוע ללא הכנסת עמלות מספקת. שלב חובה הוא בדיקת אסטרטגיה לאחור על נתונים היסטוריים. עבור ETH/USDC ב-Arbitrum, אנו לוקחים נתונים מ-Uniswap v3 subgraph על פני 6–12 חודשים, מדמים אסטרטגיות שונות, ומשווים APY נטו לאחר גז והפסד בלתי-קבוע. תדירות איזון אופטימלית יכולה לחסוך עד $50 בחודש על עמדה אחת (תלוי בגודל הבריכה ובתנודתיות).
למה אופטימיזציית גז קריטית?
פעולת איזון מחדש אחת כוללת collect(), decreaseLiquidity(), collect() נוסף, swap כדי להחזיר את היחס, ו-mint() — סה"כ 4–5 עסקאות. באמצעות multicall ב-NonfungiblePositionManager אנו יכולים לשלב קריאות, להפחית גז בעד 40% ולבטל סיכון לשינוי מצב בין שלבים. Swap מזיז את המחיר (החלקה) ופותח MEV להתקפות סנדוויץ'. הגנה: minAmountOut עם החלקה מותרת של 0.3–0.5% או שימוש בהלוואות בזק לאיזון אטומי. אופטימיזציית גז מניבה חיסכון של $10–$30 לאיזון מחדש ב-Ethereum mainnet.
תשתית Keeper
- Chainlink Automation: החוזה מיישם
AutomationCompatibleInterfaceעם פונקציותcheckUpkeep(מחוץ לשרשרת) ו-performUpkeep(על השרשרת). תשלום ב-LINK, עיכוב של עד כמה בלוקים. - Gelato Network: דומה, עם תנאים גמישים יותר ותשלום בטוקן מקומי.
- בוט Keeper מותאם אישית: שירות Node.js/TypeScript. זול יותר אבל דורש תשתית.
איך לבחור רשת keeper?
| רשת keeper | אמינות | עלות | מורכבות הגדרה | חיסכון בגז לעומת בוט מותאם |
|---|---|---|---|---|
| Chainlink Automation | גבוהה (99.9%) | בינונית (LINK) | נמוכה | 20% זול יותר ללא תשתית |
| Gelato Network | גבוהה (99.8%) | בינונית (טוקן מקומי) | נמוכה | 15% זול יותר |
| בוט מותאם | בינונית (99.5%) | נמוכה | גבוהה | קו בסיס |
לייצור אנו משתמשים ב-Chainlink Automation או Gelato. בוט מותאם כגיבוי. אם נדרש חישוב מותאם מחוץ לשרשרת לפני חתימה, Gelato עדיף — הוא מאפשר חישובים מחוץ לשרשרת.
חוזה האיזון מחדש
interface IRebalancer {
function rebalance(
uint256 tokenId,
int24 newLowerTick,
int24 newUpperTick,
uint256 minAmount0,
uint256 minAmount1
) external returns (uint256 newTokenId);
function shouldRebalance(uint256 tokenId) external view returns (bool, int24, int24);
}interface IRebalancer { function rebalance( uint256 tokenId, int24 newLowerTick, int24 newUpperTick, uint256 minAmount0, uint256 minAmount1 ) external returns (uint256 newTokenId); function shouldRebalance(uint256 tokenId) external view returns (bool, int24, int24); } היא פונקציית view עבור checkUpkeep של ה-keeper. גישה ל-shouldRebalance מוגבלת לבעלים או ל-keeper מורשה.
מה כלול
- פיתוח חוזה חכם לאיזון מחדש (Solidity 0.8.x)
- יישום אסטרטגיית בחירת טווח (מחוץ לשרשרת, TypeScript)
- הגדרת רשת keeper (Chainlink Automation / Gelato)
- בדיקות על fork של mainnet (Foundry)
- תיעוד לתפעול וניטור
- תמיכה ל-30 יום לאחר הפריסה
הערכות לוחות זמנים
מערכת בסיסית לעמדה אחת עם Chainlink Automation — מ-5 ימי עסקים. לוח הזמנים עשוי להתארך עם אסטרטגיות מורכבות או אינטגרציה עם מספר בריכות. רוצה לדון בפרויקט שלך? צור קשר — נעזור לך לבחור את האסטרטגיה והמחסנית האופטימליים. קבל ייעוץ לפרויקט שלך.







