A TypeScript application that monitors Solana MEV bot purchase transactions in real-time and extracts token addresses and SOL amounts.
- Real-time Monitoring: Detects all transactions from MEV bot addresses in real-time
- Purchase Transaction Detection: Accurately identifies BUY transactions using various methods
- Data Extraction: Automatically extracts token addresses, SOL amounts, and transaction signatures
- CSV Storage: Automatically saves all data to CSV files
- Stability: Efficient polling method to avoid RPC request limits
Currently monitoring the following MEV bots:
4vJfp62jEzcYFnQ11oBJDgj6ZFrdEwcBBpoadNTpEWysE6YoRP3adE5XYneSseLee15wJshDxCsmyD2WtLvAmfLi
- Token Transfer Detection: Tokens received by the bot (high confidence)
- SOL Transfer Detection: SOL paid by the bot (medium confidence)
- DEX Swap Detection: Jupiter, Raydium, Orca, Whirlpool transactions
- Program Call Analysis: Other purchase-related program calls
- Node.js 16.0.0 or higher
- npm or yarn
- Clone Repository
git clone https://github.com/echandsome/MEV-Bot-Transaction-Monitor.git
cd MEV-Bot-Transaction-Monitor- Install Dependencies
npm install- Build (Optional)
npm run buildnpm startnpm run devnpm run debug$ npm start
π Starting Improved MEV Bot Monitor...
π‘ Using polling method to avoid rate limits
π― Monitoring addresses: [
'4vJfp62jEzcYFnQ11oBJDgj6ZFrdEwcBBpoadNTpEWys',
'E6YoRP3adE5XYneSseLee15wJshDxCsmyD2WtLvAmfLi'
]
π CSV output file: D:\Workspace\2025\06\MEV-Bot-Transaction-Monitor\mev_bot_transactions.csv
β° Check interval: 30 seconds
β
Monitor started successfully. Press Ctrl+C to stop.
π Checking transactions for: 4vJfp62jEzcYFnQ11oBJDgj6ZFrdEwcBBpoadNTpEWys
π Found 3 recent transactions
π New transaction: 3H2kwXyp1zccaUSWayFVHWLjBWzvxirrSHMDt5kEoHncffo6fwUxzuh9S3JFcKUFX1HSn1UJE3uQELM3jd3jZKez
π Analyzing transaction: 3H2kwXyp1zccaUSWayFVHWLjBWzvxirrSHMDt5kEoHncffo6fwUxzuh9S3JFcKUFX1HSn1UJE3uQELM3jd3jZKez
β Not a buy transactionData is saved to mev_bot_transactions.csv in the following format:
| Column | Description | Example |
|---|---|---|
| Timestamp | Transaction detection time | 2025-01-01T12:00:00.000Z |
| Transaction Signature | Transaction signature | 4v1wjvYNQoxEf8Ttg5tDtyHJ4DSPQPx6jBFbynXkJxXfVjUY199uVJobgz5h1eYffDGxW5TFJi6HUJ688tH1q3cE |
| MEV Bot Address | MEV bot address | 4vJfp62jEzcYFnQ11oBJDgj6ZFrdEwcBBpoadNTpEWys |
| Token Address | Purchased token address | 8jVcgXXUReoiFCDzDMEhftCvA7HWqLX6rNmZ6AxLpump |
| SOL Amount | SOL amount paid | 4.213801967 |
| USD Value | USD value (to be added in future) |
β
BUY TRANSACTION DETECTED!
Token: 8jVcgXXUReoiFCDzDMEhftCvA7HWqLX6rNmZ6AxLpump
SOL Amount: 4.213801967
Confidence: high
π Saved to CSV file
export const CONFIG = {
// MEV bot addresses to monitor
MEV_BOT_ADDRESSES: [
'4vJfp62jEzcYFnQ11oBJDgj6ZFrdEwcBBpoadNTpEWys',
'E6YoRP3adE5XYneSseLee15wJshDxCsmyD2WtLvAmfLi'
],
// Solana RPC endpoint
RPC_URL: 'https://api.mainnet-beta.solana.com',
// Connection commitment level
COMMITMENT: 'confirmed',
// CSV filename
CSV_FILENAME: 'mev_bot_transactions.csv',
// DEX program IDs
DEX_PROGRAM_IDS: [
'JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB', // Jupiter
'675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8', // Raydium
'9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM', // Orca
'whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc' // Whirlpool
]
};Add new addresses to the MEV_BOT_ADDRESSES array in src/config.ts:
MEV_BOT_ADDRESSES: [
'4vJfp62jEzcYFnQ11oBJDgj6ZFrdEwcBBpoadNTpEWys',
'E6YoRP3adE5XYneSseLee15wJshDxCsmyD2WtLvAmfLi',
'YOUR_NEW_MEV_BOT_ADDRESS' // Add new address
]To use a more stable RPC service:
RPC_URL: 'https://your-rpc-endpoint.com'Symptom: "429 Too Many Requests" error message Solution:
- Current polling method already solves this issue
- Requests are made at 30-second intervals to avoid limits
Symptom: "Connection failed" or "Network error" Solution:
# Test connection
npm run debug
# Use different RPC endpoint
# Change RPC_URL in src/config.tsSymptom: mev_bot_transactions.csv file doesn't exist
Solution:
# Check permissions
ls -la mev_bot_transactions.csv
# Create file manually
echo "Timestamp,Transaction Signature,MEV Bot Address,Token Address,SOL Amount,USD Value" > mev_bot_transactions.csvSymptom: Only "No new transactions found" messages Solution:
- Verify that MEV bots are actually active
- Check if RPC endpoint is working properly
- Verify network connection status
npm run debugChange logging settings in src/config.ts:
LOGGING: {
ENABLE_DEBUG: true, // Enable debug messages
SHOW_ALL_TRANSACTIONS: false, // Show all transactions
SHOW_CONFIDENCE_LEVELS: true // Show confidence levels
}MEV-Bot-Transaction-Monitor/
βββ src/
β βββ improvedMonitor.ts # Main monitoring logic
β βββ transactionParser.ts # Transaction analysis logic
β βββ config.ts # Configuration file
β βββ debug.ts # Debugging tools
βββ package.json # Project settings
βββ tsconfig.json # TypeScript settings
βββ README.md # This file
βββ mev_bot_transactions.csv # Output file (auto-generated)
- Language: TypeScript
- Runtime: Node.js
- Blockchain: Solana Web3.js
- Data Storage: CSV
- Package Manager: npm
@solana/web3.js: Solana blockchain connection@solana/spl-token: SPL token processingcsv-writer: CSV file writingts-node: TypeScript execution
- Polling Method: Efficient polling instead of WebSocket
- Duplicate Removal: Skip already processed transactions
- Retry Logic: Automatic retry on failure
- Batch Processing: Process 10 at a time
- Memory Management: Clean up old transaction hashes
- Parallel Processing: Monitor multiple bots simultaneously
- Caching: Cache transaction data
- Read-Only: This tool only performs read-only operations
- No Private Keys Required: No private keys or seed phrases needed
- Public Data: Only accesses public blockchain data
ISC License
Please submit bug reports or feature suggestions through issues.
If you encounter problems, check the following:
- Troubleshooting section in this README
- GitHub issues page
- Run connection test:
npm run debug