נכס חדש נכנס לנזילות ב-Uniswap V2 — ותוך 2-3 בלוקים, הקונים הראשונים כבר בעמדה. זה לא מזל או מהירות תגובה אנושית. בוטים מסוג Sniper עוקבים אחר ה-mempool עבור עסקאות addLiquidity ו-addLiquidityETH ושולחים עסקת קנייה עם גז גבוה יותר כדי להיכנס לאותו בלוק מיד לאחר פריסת הנזילות. אנו בונים בוטים כאלה מאפס לייצור ויודעים ממקור ראשון באיזו תדירות אפילו צוותים מנוסים מפסידים כסף על לוגיקה שגויה, מנגנוני אנטי-סנייפ, וגישות מיושנות להצעות גז. במשך יותר מ-5 שנים, בנינו יותר מ-20 בוטים מסוג Sniper ללקוחות, כולל פתרונות עבור Ethereum, BNB Chain ו-Polygon. ההתמחות שלנו היא כניסה יציבה לבלוק הראשון עם הסתברות מקסימלית, ואנחנו תמיד מנתחים את חוזה הטוקן עבור honeypot ומגבלות לפני שליחת העסקה.
אחד הלקוחות שלנו — צוות מסחר מדובאי — הפסיד $15,000 בליסטינג הראשון שלהם כי הבוט לא בדק את החוזה עבור honeypot. שכתבנו את הלוגיקה, הוספנו סימולציה דרך Tenderly — והליסטינג הבא הניב להם $8,000 רווח. מקרה זה מראה מדוע בדיקות שטחיות מובילות להפסדים.
כיצד בוט מסוג Sniper מבטיח כניסה לבלוק הראשון?
לוגיקה שגויה לזיהוי הוספת נזילות — פיתוח בוט Sniper
הגישה הנאיבית היא להאזין לאירוע Mint(address sender, uint amount0, uint amount1) על בריכת Uniswap V2. הבעיה: האירוע נפלט לאחר הביצוע, לא לפניו. עד שהבוט רואה את האירוע, הבלוק כבר נחתם. צריך לעבוד עם עסקאות ממתינות ב-mempool.
הגישה הנכונה: eth_subscribe("newPendingTransactions") דרך WebSocket לצומת Ethereum + פענוח ה-calldata של העסקה. החתימה עבור addLiquidityETH(address token, ...) היא 0xf305d719. אם ה-calldata מתחיל ב-selector זה, זו הוספת נזילות, והבוט חייב להגיב לפני שהיא נכללת בבלוק.
אבל רוב הבוטים עושים טעות: הם מנתחים רק קריאות ישירות ל-Router. טוקנים יכולים להוסיף נזילות דרך חוזה השקה מותאם אישית שקורא ל-Router פנימית. לשם כך, צריך API של trace (debug_traceTransaction או Tenderly) או ניטור אירוע PairCreated של ה-factory כאות חלופי.
מלחמות גז ועדיפות
פשוט להגדיר gasPrice גבוה זה לא מספיק — זה מרוץ שבו כל אחד יכול לנצח. הסכמה הנכונה: עסקאות EIP-1559 עם maxPriorityFeePerGas (tip) מספיק כדי לנחות מעל עסקת היעד בבלוק, אבל בלי לשלם יותר מדי.
לתרחישים מתקדמים — הגשה ישירה דרך Flashbots bundle: eth_sendBundle מאפשר לכלול את העסקה שלך באותו בלוק כמו היעד, מובטח אחריו, בלי סיכון לנחות לפני הוספת הנזילות (שזה חסר תועלת) או בבלוק אחר (מאוחר מדי). לפי תיעוד Flashbots, שימוש ב-bundle מגדיל את ההסתברות לפגיעה בבלוק הראשון פי 1.6: 95% לעומת 60% בהגשה רגילה.
מנגנוני אנטי-בוט
רוב הטוקנים המודרניים כוללים הגנת אנטי-סנייפ: ב-N הבלוקים הראשונים לאחר הליסטינג, עסקאות מכתובות שקנו בבלוק הראשון מחויבות במס של 99% או נחסמות. זה מתחיל להתבטל דרך מגבלות _maxWalletAmount ואילוצי זמן.
פתרונות עוקפים: קנייה דרך מספר כתובות עם סכומים קטנים, דחיית הקנייה ב-1-3 בלוקים, ניתוח חוזה הטוקן לפני קנייה עבור קוד אנטי-בוט (דפוסים: _isSniper, _blacklist, antiBotEnabled).
פרטי אבטחה
לאבטחה נוספת, אנו משתמשים בסימולציה דרך Foundry ו-Tenderly, המאפשרת לזהות honeypot לפני שליחת עסקה אמיתית. זה מפחית את הסיכון לאובדן כספים ב-80%.מה משפיע על ההסתברות לבלוק הראשון?
גורמים מרכזיים: זמן השהיה של ה-mempool (צומת ייעודי מפחית את זמן ההשהיה ל-15 אלפיות השנייה לעומת 200 אלפיות השנייה עבור ספקים ציבוריים), בחירת tip נכונה (חיסכון ממוצע בגז של עד $500 לבלוק באמצעות Flashbots), ובדיקות בטיחות בזמן. בלי סימולציה, כל טוקן חמישי הוא honeypot — הפסדים ממוצעים מטעות כזו מגיעים ל-$2,000.
למה Flashbots bundle על פני הגשה רגילה?
| שיטה | הסתברות לבלוק הראשון | סיכון לתשלום יתר בגז |
|---|---|---|
| הגשה רגילה | 60% | גבוה (הצעת מחיר גבוהה יותר) |
| Flashbots bundle | 95% | נמוך (הכללה מובטחת) |
Flashbots bundle אמין פי 1.6 — הוכח על מאות ליסטינגים.
כיצד מתוכננת הארכיטקטורה של בוט Sniper?
ניטור Mempool
חיבור WebSocket לצומת Ethereum ייעודי (Geth/Erigon) או לספק עם גישה ל-mempool (Alchemy, Infura Premium, QuickNode). צמתים ציבוריים כוללים מגבלות קצב וזמן השהיה של 50-200 אלפיות השנייה. צומת ייעודי באותו מרכז נתונים כמו כורים/מאמתים מרכזיים — זמן השהיה של 5-20 אלפיות השנייה.
זמן ההשהיה הממוצע של הצומת שלנו הוא 15 אלפיות השנייה, מה שמאפשר לנו להקדים 90% מהמתחרים.
Mempool subscription → calldata decode → token contract fetch → safety checks → buy tx construction → gas estimation → send מה לבדוק לפני קניית טוקן?
ניתוח אוטומטי של חוזה הטוקן לפני קנייה:
- בדיקת Honeypot: סימולציה של
Mempool subscription → calldata decode → token contract fetch → safety checks → buy tx construction → gas estimation → sendדרךsellלאחר קנייה. אם המכירה נכשלת, זו מלכודת. - בדיקות פונקציות בעלים:
eth_callללא מגבלות,mint()עד 100%,setFee(uint256)לא נקרא. - בדיקת נזילות: האם יש מספיק ETH בבריכה לקנייה שלנו בלי החלקה של >X%.
- אימות טוקן מול מאגרי הונאות ידועים (Token Sniffer API, GoPlus Security API).
סימולציה דרך Foundry renounceOwnership() או דרך Tenderly Simulation API — מאפשרת לראות את תוצאת העסקה המדויקת לפני שליחה.
ניהול פוזיציה
Take-profit ו-stop-loss דרך ניטור אירועי forge script --fork-url על הבריכה: אם המחיר יורד ב-X% ממחיר הקנייה — מכירה אוטומטית. Trailing stop: מעדכן את נקודת הייחוס כשהמחיר עולה.
בעיה במכירה: אם לטוקן יש מס מכירה, יש להתחשב בו בחישוב Swap המינימלי עבור Uniswap Router. אחרת, העסקה נכשלת בגלל הגנת החלקה.
כיצד להגדיר את הבוט צעד אחר צעד?
- פריסת צומת Ethereum (Geth/Erigon) או חיבור לספק פרימיום עם גישת WebSocket.
- הגדרת מנוי ל-mempool:
amountOutMin. - יישום פענוח calldata עבור חתימה
eth_subscribe("newPendingTransactions")(Uniswap V2) ודומה עבור V3. - שילוב בדיקות בטיחות: סימולציה של החלפה דרך
0xf305d719, בדיקת חוזה עבור honeypot. - בניית עסקת קנייה עם פרמטרי EIP-1559 ושליחה דרך Flashbots bundle.
- הגדרת ניטור פוזיציה ו-TP/SL אוטומטי.
- בדיקות על רשת testnet (Goerli/Sepolia) עם נזילות מדומה.
השוואת שיטות הגשת עסקאות
| שיטה | הסתברות לבלוק הראשון | סיכון לתשלום יתר בגז |
|---|---|---|
| הגשה רגילה | 60% | גבוה (הצעת מחיר גבוהה יותר) |
| Flashbots bundle | 95% | נמוך (הכללה מובטחת) |
שלבי פיתוח בוט Sniper
| שלב | משך זמן |
|---|---|
| ניתוח דרישות והקמת תשתית | 1-2 ימים |
| פיתוח מודול Mempool ופענוח | 2-3 ימים |
| בדיקות בטיחות ושילוב סימולציה | 2-3 ימים |
| יישום TP/SL ו-trailing stop | 1-2 ימים |
| בדיקות על testnet ופריסה | 1-2 ימים |
רכיבים הכלולים בעבודה
- תיעוד: תיאור ארכיטקטורה, הגדרות והוראות השקה.
- גישה: קוד הבוט במאגר פרטי, הגדרת חיבור לצומת.
- הדרכה: הדגמת פעולת הבוט, הסבר על פרמטרים ואסטרטגיות.
- תמיכה: 30 יום לאחר ההשקה — תיקוני באגים וייעוץ.
הערכות זמנים
בוט Sniper בסיסי עם ניטור mempool ובדיקות בטיחות פשוטות — 3-5 ימים. גרסה עם שילוב Flashbots, עקיפת אנטי-בוט ו-trailing stop — 1-2 שבועות. העלות מחושבת באופן אישי.
צרו קשר כדי לדון בפרויקט שלכם. הזמינו פיתוח בוט Sniper מפתח — קבלו ייעוץ לתרחיש שלכם. נבדוק את הפרויקט שלכם תוך יום אחד — פנו אלינו.







