├── README.md ├── env.example └── main.py /README.md: -------------------------------------------------------------------------------- 1 | # Tron Volume Bot (TRX) 🚀 2 | 3 | ## Introduction 4 | 5 | The **Tron Volume Bot (TRX)** is a powerful, efficient, and cost-effective CLI-based tool designed to generate transaction volume on the TRON blockchain. Whether you're looking to boost your token's visibility on platforms like DEXTools or other decentralized exchange viewers, this bot provides an automated solution to create and manage multiple wallets, fund them, and perform a variety of buy/sell transactions. 6 | 7 | ## Contact 8 | 9 | If you encounter any issues or have any questions, feel free to open an issue on GitHub or reach out me via my [Telegram](https://t.me/shiny0103). 10 | 11 | ## Key Features 12 | 13 | - **Automated Wallet Creation**: Generates a predefined number of wallets automatically. 14 | - **Fund Management**: Automatically funds the created wallets to ensure smooth transactions. 15 | - **Buy & Sell Transactions**: Executes buy and sell orders with randomized amounts to simulate organic trading activity. 16 | - **Customizable Settings**: Users can adjust the transaction amounts, delays between transactions, and other parameters to fine-tune the bot's behavior. 17 | - **Cost-Efficient**: Designed to operate at a minimal cost, making it accessible for projects of all sizes. 18 | - **CLI-Based**: No need for a complicated GUI; everything is controlled directly from the command line for maximum efficiency and simplicity. 19 | - **Boosts Token Visibility**: Helps your token gain traction on platforms like DEXTools, improving its visibility and ranking. 20 | 21 | ## How It Works 22 | 23 | 1. **Setup**: Install the Tron Volume Bot on your machine and configure the settings to your preferences. 24 | 2. **Wallet Generation**: The bot will generate a specified number of TRON wallets, which will be used to perform transactions. 25 | 3. **Funding**: The bot automatically funds these wallets with TRX to enable transactions. 26 | 4. **Trading Activity**: The bot then performs buy and sell transactions with varying amounts and delays to create the appearance of organic trading activity. 27 | 5. **Monitoring**: Continuously monitors the transactions and provides real-time feedback in the CLI. 28 | 29 | ## Installation 30 | 31 | To install and run the Tron Volume Bot, follow these steps: 32 | 33 | ``` 34 | # Clone the repository 35 | git clone https://github.com/yourusername/tron-volume-bot.git 36 | 37 | # Navigate to the project directory 38 | cd tron-volume-bot 39 | 40 | # Install dependencies 41 | npm install 42 | 43 | # Start the bot 44 | node index.js 45 | ``` 46 | 47 | ## Configuration 48 | 49 | Before running the bot, you need to configure a few settings: 50 | 51 | 1. **Number of Wallets**: Specify how many wallets you want to generate. 52 | 2. **Funding Amount**: Set the amount of TRX to fund each wallet. 53 | 3. **Transaction Parameters**: Define the buy/sell amounts, delay between transactions, and other custom settings. 54 | 55 | Example configuration: 56 | ``` 57 | NODE_API_KEY= 58 | MAIN_WALLET_ADDRESS= 59 | MAIN_WALLET_PRIVATE_KEY= 60 | NUM_WALLETS=5 61 | TRADE_DELAY=5 62 | MIN_TRADE_AMOUNT=100 63 | MAX_TRADE_AMOUNT=500 64 | TARGET_TOKEN_ADDRESS= 65 | ``` 66 | 67 | ## Usage 68 | 69 | Once configured, you can start the bot with a simple command: 70 | ``` 71 | python main.py 72 | ``` 73 | The bot will begin creating wallets, funding them, and executing transactions based on your configuration. You can monitor the progress directly in the terminal. 74 | 75 | ## Use Cases 76 | 77 | - **Token Launches**: Generate initial trading volume for new tokens. 78 | - **DEXTools Ranking**: Improve your token's ranking on DEXTools and similar platforms. 79 | - **Market Making**: Create the appearance of liquidity and active trading on your token. 80 | 81 | ## Important Notes 82 | 83 | - **Compliance**: Ensure that the use of this bot complies with the legal and ethical standards in your jurisdiction. 84 | - **Risk**: This bot is designed for simulation purposes; use at your own risk. 85 | 86 | --- 87 | -------------------------------------------------------------------------------- /env.example: -------------------------------------------------------------------------------- 1 | NODE_API_KEY= 2 | MAIN_WALLET_ADDRESS= 3 | MAIN_WALLET_PRIVATE_KEY= 4 | NUM_WALLETS=5 5 | TRADE_DELAY=5 6 | MIN_TRADE_AMOUNT=100 7 | MAX_TRADE_AMOUNT=500 8 | TARGET_TOKEN_ADDRESS= 9 | 10 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import time 2 | import random 3 | import os 4 | import subprocess 5 | import tkinter as tk 6 | import threading 7 | import getpass 8 | from tronpy import Tron 9 | from tronpy.providers import HTTPProvider 10 | from tronpy.keys import PrivateKey 11 | from tronpy.exceptions import TransactionError, AddressNotFound, TransactionNotFound 12 | from dotenv import load_dotenv 13 | from decimal import Decimal, ROUND_DOWN 14 | import requests 15 | import traceback 16 | 17 | print("Discover more scripts at solana-scripts.com") 18 | print('https://t.me/benorizz0') 19 | 20 | time.sleep(3) 21 | 22 | print("Tron Volume Bot - @benorizz0") 23 | 24 | time.sleep(2) 25 | 26 | 27 | node_url = os.getenv("NODE_API_KEY") 28 | main_wallet_address = os.getenv("MAIN_WALLET_ADDRESS") 29 | main_wallet_private_key = os.getenv("MAIN_WALLET_PRIVATE_KEY") 30 | num_wallets = int(os.getenv("NUM_WALLETS", 1)) 31 | trade_delay = int(os.getenv("TRADE_DELAY", 1)) 32 | min_trade_amount = float(os.getenv("MIN_TRADE_AMOUNT", 0.1)) 33 | max_trade_amount = float(os.getenv("MAX_TRADE_AMOUNT", 1.0)) 34 | target_token_address = os.getenv("TARGET_TOKEN_ADDRESS") 35 | 36 | 37 | # Example: Get the balance of the main wallet address 38 | balance = client.get_account_balance(main_wallet_address) 39 | print(f"Balance of main wallet: {balance} TRX") 40 | 41 | # Main wallet details 42 | main_wallet = { 43 | "address": main_wallet_address, 44 | "private_key": PrivateKey(bytes.fromhex(main_wallet_private_key)) 45 | } 46 | 47 | # Wallet creation function 48 | def create_wallets(n): 49 | wallets = [] 50 | for i in range(n): 51 | private_key = PrivateKey.random() 52 | wallet_info = { 53 | "name": f"Wallet{i+1}", 54 | "address": private_key.public_key.to_base58check_address(), 55 | "private_key": private_key.hex() 56 | } 57 | wallets.append(wallet_info) 58 | return wallets 59 | 60 | # Function to find the next available filename 61 | def get_next_filename(base_name='wallets', extension='txt'): 62 | i = 1 63 | while True: 64 | file_name = f"{base_name}{i}.{extension}" 65 | if not os.path.exists(file_name): 66 | return file_name 67 | i += 1 68 | 69 | # Save wallets to a uniquely named file 70 | def save_wallets_to_file(wallets): 71 | file_path = get_next_filename() 72 | with open(file_path, 'w') as f: 73 | for wallet in wallets: 74 | f.write(f"Name: {wallet['name']}\n") 75 | f.write(f"Address: {wallet['address']}\n") 76 | f.write(f"Private Key: {wallet['private_key']}\n\n") 77 | print(f"Wallets saved to {file_path}") 78 | 79 | # Function to distribute TRX from main wallet to other wallets 80 | def distribute_trx_and_swap(main_wallet, wallets): 81 | # Get total balance as a Decimal object 82 | total_balance = Decimal(client.get_account_balance(main_wallet["address"])) 83 | num_wallets = len(wallets) 84 | 85 | time.sleep(1) 86 | 87 | # Estimate the fee for each transaction (typically 1 TRX) 88 | estimated_fee_per_tx_sun = 1_000_000 # 1 TRX in Sun 89 | total_estimated_fee_sun = estimated_fee_per_tx_sun * num_wallets 90 | # Wait for the approval transaction to be confirmed 91 | print("Waiting for token approval...") 92 | client.wait_for_transaction_receipt(approve_tx['txid']) 93 | 94 | # Set the swap path (token -> TRX) 95 | path = [ 96 | client.to_base58check_address(contract_address), # Token address 97 | client.to_base58check_address(client.TRX_CONTRACT_ADDRESS) # TRX address 98 | ] 99 | 100 | # Create the swap transaction 101 | print("Creating swap transaction...") 102 | swap_tx = ( 103 | token_contract.functions.swapExactTokensForTRX( 104 | amount_to_swap_sun, 105 | 0, # Minimum output amount (can be used to set slippage) 106 | path, 107 | wallet_address, 108 | int(client.get_latest_block()['block_header']['raw_data']['timestamp']) + 1200 # 20 minutes deadline 109 | ) 110 | .with_owner(wallet_address) 111 | .fee_limit(2_000_000) 112 | .build() 113 | .sign(priv_key) 114 | ) 115 | 116 | # Send the transaction 117 | print("Sending the transaction...") 118 | tx_hash = client.broadcast(swap_tx) 119 | print(f"Transaction sent! Transaction Hash: {tx_hash}") 120 | 121 | # Call the function 122 | swap_tokens_for_trx() 123 | 124 | # Trade function 125 | def trade_wallets(wallets): 126 | for wallet in wallets: 127 | if stop_event.is_set(): 128 | print("STOP button pressed. Exiting trading loop.") 129 | return 130 | 131 | trade_amount = round(random.uniform(min_trade_amount, max_trade_amount), 6) 132 | send_transaction(wallet, trade_amount, is_purchase=True) # Purchase 133 | time.sleep(trade_delay) 134 | 135 | if sell_after_purchase: 136 | send_transaction(wallet, trade_amount, is_purchase=False) # Sale 137 | time.sleep(trade_delay) 138 | 139 | distribute_trx_and_swap(main_wallet, wallets) 140 | trade_wallets(wallets) --------------------------------------------------------------------------------