This bot is designed for automated token trading and boosting across Ethereum, Solana, and Binance Smart Chain (BSC) networks. It utilizes smart contracts to perform lightning-fast buy and sell operations on decentralized exchanges like Uniswap, Raydium, Pumpfun, Meteora, and Orca, ensuring optimal liquidity and rapid volume growth for your token.
Built with anti-MEV (Maximal Extractable Value) functionality, robust security measures, and transaction optimization, this bot minimizes gas costs while maximizing the impact of each trade.
Whether you want to boost token liquidity, create a buy-sell volume effect, or manage automated market-making, this bot is equipped to handle it all.
- Buy and Sell Tokens in One Transaction: The bot automates buying and selling ERC20 tokens with a single call to Uniswap, ensuring swift execution and volume boosting.
- Instant Sell After Buy: As soon as a buy transaction is executed, the bot immediately proceeds with a sell order to secure profits and prevent loss.
- 1ETH Per Transaction: For cost optimization, each transaction is executed with 1ETH, reducing gas fees while maintaining effective market impact.
- RPC Anti-MEV: Built-in protection against Maximal Extractable Value attacks, ensuring fair and transparent transactions.
- Token Selection Criteria: Only tokens with at least 250k market cap and 5ETH LP are eligible for trading. This ensures you're not investing in low-cap or illiquid projects.
- Token Audit: Integrated with QuickIntel.io for real-time audits, checking for potential honeypots, rug pulls, and ensuring the project is safe before any trading occurs.
- ETH Pair Only: The bot will only initiate orders in ETH pairs to maintain consistency and reduce unnecessary risks.
- DEX Support: Currently supports trading on Uniswap v2/v3, ensuring access to the most liquid decentralized exchanges.
- Transaction Monitoring: If a user tries to sell after the bot buys, an immediate sell transaction is triggered to avoid loss.
- Automated Stop Conditions: The bot will pause when the wallet balance reaches 1.01 ETH to prevent the accumulation of tokens with high fees.
- Multiple Options for Traders: Two modes are available for users: BUNDLE or Normal. Both options offer different approaches to volume boosting, allowing flexibility in trading strategy.
- After 20 Transactions: To prevent detection of the boost algorithm, the bot will automatically transfer funds to another wallet after executing 20 transactions.
const volumeBoostABI = get_VOLUME_BOOST_CONTRACTing_abi();
const boostingContract = new w3.eth.Contract(volumeBoostABI, VOLUME_BOOST_CONTRACT);
const approveFunction = boostingContract.methods.approveToken(token_addr);
const tx = {
data: approveFunction.encodeABI(),
to: VOLUME_BOOST_CONTRACT,
from: w3.utils.toChecksumAddress(wallet_addr),
nonce: await w3.eth.getTransactionCount(w3.utils.toChecksumAddress(wallet_addr), 'pending'),
gas: await approveFunction.estimateGas({ from: w3.utils.toChecksumAddress(wallet_addr) }),
gasPrice: await w3.eth.getGasPrice() + BigInt(w3.utils.toWei(2, 'gwei')),
chainId: chainId,
}
const signedTx = await w3.eth.accounts.signTransaction(tx, owner);
const data = {
jsonrpc: '2.0',
method: 'eth_sendRawTransaction',
params: [w3.utils.toHex(signedTx.rawTransaction)],
id: chainId,
};
const txHash = await axios.post(CONFIRM_ENDPOINT, data);
const tx = {
data: executeFunction.encodeABI(),
to: VOLUME_BOOST_CONTRACT,
from: w3.utils.toChecksumAddress(wallet_addr),
nonce: await w3.eth.getTransactionCount(w3.utils.toChecksumAddress(wallet_addr), 'pending'),
gas: await executeFunction.estimateGas({ from: w3.utils.toChecksumAddress(wallet_addr), value: amount_in_wei, }),
gasPrice: await w3.eth.getGasPrice() + BigInt(w3.utils.toWei(2, 'gwei')),
value: amount_in_wei,
chainId: chainId,
}
const signedTx = await w3.eth.accounts.signTransaction(tx, owner);
const data = {
jsonrpc: '2.0',
method: 'eth_sendRawTransaction',
params: [w3.utils.toHex(signedTx.rawTransaction)],
id: chainId,
};
const txHash = await axios.post(CONFIRM_ENDPOINT, data);
This bot interacts with Raydium, Pumpfun, Meteora, and Orca DEXes in the Solana network. It integrates with each DEX's SDK and uses Jito or Next Bundler to speed up transaction confirmation timing.
export const swapOnMeteoraDLMM = async (wallet: Keypair, amount: number, targetPool: string, tokenMint: string, isBuy: boolean) => {
try {
const dlmmPool = await DLMM.create(solanaConnection, new PublicKey(targetPool));
if (dlmmPool.tokenX.publicKey.toBase58() !== NATIVE_MINT.toBase58() && dlmmPool.tokenY.publicKey.toBase58() !== NATIVE_MINT.toBase58()) {
console.log("Wrong pool id");
return null;
}
const swapAmount = new BN(amount);
// Swap quote
const swapYtoX = isBuy;
const binArrays = await dlmmPool.getBinArrayForSwap(swapYtoX);
const swapQuote = await dlmmPool.swapQuote(swapAmount, swapYtoX, new BN(10000), binArrays);
// Swap
const swapTx = await dlmmPool.swap({
inToken: isBuy ? NATIVE_MINT : new PublicKey(tokenMint),
binArraysPubkey: swapQuote.binArraysPubkey,
inAmount: swapAmount,
lbPair: dlmmPool.pubkey,
user: wallet.publicKey,
minOutAmount: swapQuote.minOutAmount,
outToken: isBuy ? new PublicKey(tokenMint) : NATIVE_MINT,
});
const latestBlockhash = await solanaConnection.getLatestBlockhash();
let versionedTx = await buildVersionedTx(
solanaConnection,
wallet.publicKey,
swapTx,
DEFAULT_COMMITMENT
);
versionedTx.sign([wallet]);
if (JITO_MODE) {
const txSig = await executeJitoTx([versionedTx], wallet);
return txSig;
} else {
const txSig = await execute(versionedTx, latestBlockhash, 1);
return txSig;
}
} catch (error) {
console.log('Failed to swap transaction');
console.log(error);
return null;
}
};
This bot also supports Router Swap for Uniswap V2/V3 on the Binance Smart Chain (BSC) network.
export const simpleSwap = async (slippage: number, inputAmount: string, tokenIn: string, tokenOut: string) => {
const decimal0 = await getDecimal(tokenIn);
const symbol0 = await getTokenSymbol(tokenIn);
const decimal1 = await getDecimal(tokenOut);
const symbol1 = await getTokenSymbol(tokenOut);
const token0: Token = new Token(chainId, 0x${tokenIn.slice(2)}, decimal0, symbol0);
const token1: Token = new Token(chainId, 0x${tokenOut.slice(2)}, decimal1, symbol1);
const pool = await getPool(token0, token1);
const quoterCONTRACT = new ethers.Contract(PANCAKE_QUOTER_ADDRESS, quoterABI, signer);
const [amountOutWei] = await quoterCONTRACT.quoteExactInputSingle({
tokenIn: tokenIn,
tokenOut: tokenOut,
amountIn: inputAmount,
fee: pool.fee,
sqrtPriceLimitX96: 0,
});
if (amountOutWei === 0n) {
throw new Error("Zero output amount, cannot proceed with the trade.");
}
const slippageTolerance = new Percent(Math.floor(slippage * 100), 10_000);
const amountOutMinimum = amountOutWei - (amountOutWei * BigInt(slippageTolerance.numerator)) / BigInt(slippageTolerance.denominator);
const deadline = Math.floor(Date.now() / 1000) + 60 * 20;
const params = {
tokenIn: tokenIn,
tokenOut: tokenOut,
fee: pool.fee,
recipient: signer.address,
deadline,
amountIn: inputAmount,
amountOutMinimum,
sqrtPriceLimitX96: 0,
};
await tokenApprove(tokenIn, PANCAKE_V3_SWAPROUTER_ADDRESS);
const { gasPrice } = await provider.getFeeData();
if (!gasPrice) throw new Error("Failed to retrieve gas price");
const routerV3CONTRACT = new ethers.Contract(PANCAKE_V3_SWAPROUTER_ADDRESS, routerV3ABI, signer);
const gasLimit = await routerV3CONTRACT.exactInputSingle.estimateGas(params);
const tx = await routerV3CONTRACT.exactInputSingle(params, { gasLimit, gasPrice });
await tx.wait();
return tx.hash;
};
For any questions or to get started with the Volume Boosting Bot, reach out to us:
- Telegram: @snipmaxi