אנו מפתחים בוטים למסחר ב-DEX — מערכות שמאתרות ומבצעות הזדמנויות ארביטראז' בתוך אלפיות שנייה. הבוטים שלנו מתחרים ברמה הגבוהה ביותר: עיכוב של 100 אלפיות שנייה עולה כסף, ה-mempool הוא שדה קרב, ולוגיקה פגומה עלולה להוביל למתקפת סנדוויץ'. אנו משתמשים ב-node משלנו, Flashbots, וחוזים אופטימליים של Uniswap V3. מאמר זה מפרק את הארכיטקטורה של שלושה סוגי בוטים (ארביטראז', סנייפר, market-making), את היישום הטכני באמצעות viem/ethers.js, וכיצד להגן מפני MEV.
שלושה סוגים של בוטי DEX
| סוג בוט | מטרה | מורכבות | סיכונים |
|---|---|---|---|
| ארביטראז' | רווח מהפרשי מחירים בין DEXים | גבוהה (תחרות MEV) | מתקפות סנדוויץ', חביון גבוה |
| סנייפר | קניית טוקנים בעת יצירת פול | בינונית | Honeypot, rugpull |
| Market Making | רווח על הפער דרך AMM LP | בינונית | הפסד בלתי קבוע, תנודתיות |
קבלו ייעוץ לפרויקט שלכם — נפתח בוט המותאם לאסטרטגיה שלכם.
איך פועלים בוטי DEX
בוט ארביטראז'
מוצא הפרשי מחירים בין DEXים ומפיק רווח. דוגמה: ETH הוא $2000 ב-Uniswap V3 ו-$2003 ב-Curve — קנייה ב-Uniswap, מכירה ב-Curve, רווח של $3 פחות גז. ברשת המרכזית, ארביטראז' ETH/USDC הוא נישה צפופה עם תחרות עזה. נישות ריאליות יותר: טוקנים חדשים בשעות הראשונות למסחר (תחרות נמוכה), מסלולים multi-hop דרך 3+ פולים, רשתות L2 (פחות מתחרים, גז זול יותר), זוגות אקזוטיים ב-DEXים פחות פופולריים.
בוט סנייפר (רשימה חדשה)
מנטר יצירת פולים חדשים ב-Uniswap (אירוע PoolCreated ב-Factory) או הוספת נזילות לפול חדש. עם הזיהוי, קונה מיידית את הטוקן בציפייה לקפיצת מחיר discovery. טכנית: חיבור WebSocket ל-node של Ethereum, האזנה לעסקאות ממתינות ב-mempool ולאירועי PoolCreated. עם הזיהוי — בנייה ושליחת עסקה עם עמלת עדיפות גבוהה. סיכונים: טוקני honeypot, rugpull, תחרות MEV. הגנות בסיסיות: סימולציית עסקת מכירה לפני קנייה, אימות חוזה בקוד מקור מאומת, בדיקת היצע הפצה.
בוט Market Making
מציב פקודות קנייה/מכירה סביב מחיר האמצע, מרוויח על הפער. ב-Uniswap V3, זה מיושם באמצעות ניהול פוזיציות טווח — הבוט פותח פוזיציית טווח צר ומאזן מחדש כשהמחיר יוצא מהטווח. ה-Uniswap V3 SDK מספק את כל הכלים: חישוב טווח אופטימלי דרך tickToPrice, סימולציית עמלות שנצברו דרך Pool.computeSwapStep.
איך להגן מפני מתקפות סנדוויץ'
העסקאות שלכם גלויות ב-mempool ויכולות להיות מותקפות: בוט רואה רכישה של $10K, מכניס רכישה משלו לפני ומכירה אחרי. הגנות:
- RPC פרטי: Flashbots Protect, MEV Blocker — עסקאות לא נכנסות ל-mempool הציבורי
- סחיפה הדוקה: 0.1–0.3% לזוגות נזילים הופכת סנדוויץ' ללא רווחית
- ביצוע TWAP: פיצול הזמנה גדולה לחלקים
חיסכון ממוצע בעמלות דרך mempool פרטי הוא עד 30%.
למה node מותאם אישית הוא קריטי למהירות
| ספק | חביון | עלות | התאמה |
|---|---|---|---|
| Infura | 50–200 אלפיות שנייה | חינם/בתשלום | אבות טיפוס |
| Alchemy | 30–150 אלפיות שנייה | בתשלום | פרויקטים בינוניים |
| Node מותאם אישית (Erigon) | 1–5 אלפיות שנייה | גבוהה (שרת) | מסחר תחרותי |
לארביטראז' תחרותי, node מותאם אישית הוא חובה. אנו גם משתמשים ב-eth_feeHistory להערכת גז וב-Flashbots עבור bundles אטומיים. הפחתת חביון ב-95% נותנת יתרון במרוץ לרווח.
איך להשיק בוט ארביטראז' בסיסי: שלב אחר שלב
- בחירת אסטרטגיה וזוגות יעד (לדוגמה, ETH/USDC ב-Uniswap V3)
- הקמת ספק RPC: node מותאם אישית או Alchemy
- פריסת חוזים חכמים (אם נדרשת לוגיקה מותאמת)
- הרצת סקריפט Node.js עם viem/ethers.js
- הקמת ניטור דרך בוט טלגרם ו-Grafana
טעויות נפוצות בפיתוח בוט DEX
- שימוש ב-Quoter V2 on-chain במקום חישוב מתמטי (איטי) - ללא הגנת סנדוויץ' (סחיפה > 0.5%) - עבודה ללא בדיקות על testnet לפני mainnet - הגדרת עמלת גז שגויה (החמצת בלוק)יישום טכני
עבודה עם Uniswap V3
Uniswap V3 הוא ה-DEX הנפוץ ביותר לבוטים. חוזים מרכזיים:
-
PoolCreated— יצירת פול -
PoolCreated— ביצוע החלפה (V3 + תואם לאחור V2) -
tickToPrice— ציטוטים off-chain ללא גז -
Pool.computeSwapStep— ראוטר אוניברסלי (תומך ב-V2, V3 ופרוטוקולים אחרים)
import { ethers } from "ethers"; import { Pool, Route, Trade, SwapRouter } from "@uniswap/v3-sdk"; import { CurrencyAmount, TradeType, Percent } from "@uniswap/sdk-core"; const quoter = new ethers.Contract(QUOTER_V2_ADDRESS, QuoterV2ABI, provider); const amountOut = await quoter.callStatic.quoteExactInputSingle({ tokenIn: WETH_ADDRESS, tokenOut: USDC_ADDRESS, fee: 3000, amountIn: ethers.utils.parseEther("1"), sqrtPriceLimitX96: 0 }); לייצור, אנו מחליפים ציטוטי UniswapV3Factory בחישוב מתמטי משלנו באמצעות מצב on-chain — מהיר יותר ובלתי תלוי בזמינות Quoter. אנו משתמשים ב-whitepaper של Uniswap V3 כבסיס לאופטימיזציית גז.
מהירות: איך לפגוע בבלוק הנכון
חביון הוא כסף. רמות אופטימיזציה: רמת RPC: Infura/Alchemy מוסיפים 50–200 אלפיות שנייה חביון. node Ethereum מותאם אישית (geth או erigon) — 1–5 אלפיות שנייה.
ניטור mempool: דרך SwapRouter02 אנו מקבלים hashes של עסקאות ממתינות. Flashbots Protect API מספק גישה ל-mempool פרטי.
אסטרטגיית גז: עסקאות EIP-1559. Quoter V2 חייב להיות מספיק להכללה בבלוק. לעסקאות דחופות — UniversalRouter מעל חציון הבלוק הנוכחי.
Bundle דרך Flashbots: לעסקאות ארביטראז' הדורשות הכללה אטומית — Flashbots MEV-Boost. הגנה מפני frontrunning.
הגנה על הבוט שלכם מפני MEV
אנו משתמשים ב-RPC פרטי, סחיפה הדוקה וביצוע TWAP. בנוסף, אנו מבצעים ביקורת חוזים חכמים עבור reentrancy ומניפולציית אורקל.
PancakeSwap ו-Multi-Chain
PancakeSwap V3 (BNB Chain) — ארכיטקטורה דומה ל-Uniswap V3, אותם מושגי SDK. BNB Chain: בלוק כל 3 שניות (מהיר יותר מ-Ethereum), גז זול יותר. PancakeSwap גם על Ethereum ו-Arbitrum. בוט multi-chain עובד עם מספר ספקי RPC. viem מועדף על פני ethers.js לפרויקטים ב-TypeScript — טיפוסים טובים יותר, treeshaking, multicall מובנה.
import { createPublicClient, http } from "viem"; import { mainnet, bsc, arbitrum } from "viem/chains"; const clients = { ethereum: createPublicClient({ chain: mainnet, transport: http(ETH_RPC) }), bsc: createPublicClient({ chain: bsc, transport: http(BSC_RPC) }), arbitrum: createPublicClient({ chain: arbitrum, transport: http(ARB_RPC) }) }; Stack ותשתית
TypeScript + viem/ethers.js. Node.js worker threads לעיבוד מקבילי. Redis לאחסון מצב פולים. PostgreSQL להיסטוריית מסחר ו-PnL. פריסה על VPS עם חביון נמוך ל-nodes של Ethereum (Hetzner Frankfurt, AWS eu-west). PM2 לניהול תהליכים + התראות טלגרם.
מה כלול בעבודה
- דיאגרמת ארכיטקטורה של אינטראקציית רכיבים
- קוד מקור עם הערות (TypeScript/viem)
- פריסה על ה-VPS או הענן שלכם
- הקמת ניטור (התראות טלגרם, Grafana)
- תיעוד תפעול ושחזור
- הכשרת המומחה שלכם (שעה אונליין)
הערכות זמן
בוט ארביטראז' בסיסי לזוג DEX אחד — 3–5 ימים. עם ניתוב multi-DEX, ניטור mempool ואינטגרציית Flashbots — 1–2 שבועות. בוט סנייפר עם סימולציית מכירה — 3–5 ימים. בוט market-making עם ניהול LP של Uniswap V3 — 1–1.5 שבועות. העלות מחושבת באופן אישי לאחר ביקורת אסטרטגיה.
הניסיון והערבויות שלנו
אנחנו צוות של 5 מפתחים בכירים עם ניסיון מצטבר של 7+ שנים ב-Solidity ותשתית blockchain. השקנו 15+ מערכות מסחר ללקוחות מארה"ב והאיחוד האירופי. אנו עובדים עם Ethereum, BNB Chain, Arbitrum, Optimism, Polygon. צרו קשר — נעריך את הפרויקט שלכם ונציע את הפתרון האופטימלי. הזמינו פיתוח בוט turnkey עם תוצאות מובטחות.







