A Python-based desktop application for automated cryptocurrency trading on Uniswap V2/V3 using the Base Chain network. This bot provides a GUI interface for monitoring and executing token swaps with configurable trading strategies.
- π Automated Swap Execution: Buy and sell tokens automatically based on pool activity
- π Real-time Pool Monitoring: Track multiple token pools simultaneously
- πΌ Multi-Wallet Support: Manage multiple wallets with private key integration
- π Transaction History: Detailed logging and tracking of all trades
- π― Follow Pool Strategy: Mirror trading activity from specific pools
- β±οΈ Configurable Timing: Set custom sleep intervals between transactions
- π₯οΈ PyQt5 GUI: User-friendly desktop interface with real-time updates
- Uniswap V2 (Primary)
- Uniswap V3 (Router integration)
- Base Chain Network (Mainnet)
βββ main.py # Main GUI application
βββ worker.py # Trading bot worker threads
βββ helper.py # Web3 and utility functions
βββ uniswap_api.py # Uniswap API interactions
βββ parsec_finance.py # Parsec Finance API integration
βββ log_updater.py # GUI update handlers
βββ config.py # Configuration and contract addresses
βββ config.json # User configuration (Telegram, ETH deposit)
βββ requirements.txt # Python dependencies
βββ private_key.txt # Private keys (DO NOT COMMIT)
βββ brett__abi.json # BRETT token ABI
βββ swap__abi.json # Swap contract ABI
βββ uniswapv3_router__abi.json # Uniswap V3 Router ABI
βββ data/ # Transaction history logs
βββ debug/ # Debug information
βββ output/ # Output files
- Python 3.8 or higher
- Windows OS (configured for PowerShell)
- Base Chain RPC access
- Private key(s) for wallets you want to use
- Clone the repository
git clone <repository-url>
cd "fvck swap"- Install dependencies
pip install -r requirements.txt- Configure the application
Edit config.json:
{
"BOT_TOKEN": "YOUR_TELEGRAM_BOT_TOKEN",
"GROUP_ID": "YOUR_TELEGRAM_GROUP_ID",
"ETH_DEPOSIT": 0
}- Add your private keys
Create or edit private_key.txt and add your wallet private keys (one per line):
YOUR_PRIVATE_KEY_HERE
private_key.txt or share your private keys!
The following contracts are pre-configured in config.py:
- Swap Contract:
0x6BDED42c6DA8FBf0d2bA55B2fa120C5e0c8D7891 - Uniswap V3 Router:
0x2626664c2603336E57B271c5C0b26F421741e481 - Uniswap V2 Router:
0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 - Uniswap V2 Factory:
0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6 - WETH:
0x4200000000000000000000000000000000000006 - BRETT Token:
0x532f27101965dd16442E59d40670FaF5eBB142E4
Default RPC: https://mainnet.base.org/
python main.py- Device Table: Monitor wallet addresses, balances, and transaction counts
- Pool Table: Track token pools with buy/sell volume and last transaction details
- Control Buttons:
- Import CSV with wallet/pool configurations
- Start/Stop trading operations
- Real-time status updates
- Buy Mode: Automatically purchase tokens when conditions are met
- Sell Mode: Automatically sell tokens based on strategy
- Follow Pool Mode: Mirror transactions from a specified pool
- Fetches transaction history from Uniswap interface
- Calculates total buy/sell volumes
- Tracks recent swap activities
- Additional market data and analytics
- Token price tracking
- Volume analysis
- Contract ABI retrieval
- Transaction verification
- Block explorer integration
All transactions are automatically saved in the data/ folder with the naming convention:
{wallet_address}_{action}_{timestamp}.json
Import wallet configurations using CSV with columns:
- Wallet addresses
- Pool addresses
- Token contracts
- Trading parameters
Key packages:
web3==6.17.1- Ethereum blockchain interactionPyQt5- GUI frameworkpandas- Data manipulationrequests- HTTP requestseth-account==0.11.2- Account managementaiohttp==3.9.4- Async HTTP client
See requirements.txt for complete list.
- β
Never commit
private_key.txtto version control - β Use environment variables for sensitive data
- β Keep your private keys encrypted when not in use
- β Test with small amounts first
- β Monitor transactions closely
- β Use separate wallets for testing
Connection Error
- Verify Base Chain RPC is accessible
- Check your internet connection
- Try alternative RPC endpoints
Transaction Failed
- Ensure sufficient ETH balance for gas fees
- Verify token contract address
- Check slippage settings
GUI Not Responding
- Check that all dependencies are installed
- Verify PyQt5 is properly configured
- Review logs in console output
The application uses .flag file to control bot operations:
0= Stopped1= Running
Each wallet operates in its own worker thread with:
- Independent transaction monitoring
- Configurable sleep intervals
- Automatic error recovery
- Cryptocurrency trading carries significant risk
- Use at your own risk
- No guarantees of profit
- The developers are not responsible for any financial losses
- Always test with small amounts first
- Understand the risks before trading
This project is provided as-is without any warranty. Use at your own risk.
For issues and questions:
- Check the debug logs in the
debug/folder - Review transaction history in
data/folder - Verify configuration in
config.json
Remember: Never share your private keys or commit them to version control!