This repository contains a wallet analyzer script for Solana. It processes a list of wallet addresses, fetches tokens created by each wallet, and categorizes the wallet based on whether the wallet’s most recently created token has the highest all-time trading volume (with API-based fallbacks and rate limiting).
Help analysts quickly understand token deployment behavior by running repeatable, local “wallet analyzer” jobs:
- For each Solana wallet, identify tokens the wallet created
- Determine the most recent token by creation timestamp
- Compare its volume against the wallet’s other tokens using all-time volume data
- Output two CSVs for wallets where the most recent token is (or isn’t) the highest-volume one
- Crypto researchers and traders who want a practical Solana wallet analyzer workflow
- On-chain analysts who need a batch job to classify wallets by token performance
- Anyone with API keys and a list of Solana addresses who wants automated, resumable CSV outputs
This script calls external APIs (Helius, Bitquery, Birdeye, DexScreener). You must provide API keys.
- Copy the template:
\.env.sample->\.env
- Fill these variables in
\.env:HELIUS_API_KEYBIRDEYE_API_KEYBITQUERY_API_KEY
- (Optional) You can also set
HELIUS_RPC_URLdirectly, but it’s derived fromHELIUS_API_KEYby default.
Do not commit .env (it’s ignored by git).
Create wallets.txt in the project folder with one Solana wallet address per line.
Example:
7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU
9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM
The project uses Python and the requests library.
- Install Python (if needed)
- Download: https://python.org/downloads/
- Ensure you select “Add Python to PATH”.
- Open Command Prompt and go to the project folder:
cd C:\path\to\wallet-analyzer - Install dependencies:
pip install -r requirements.txt
- Create/configure:
wallets.txt.env(from.env.sample)
- Run:
python main.py
- Install PyInstaller:
pip install pyinstaller
- Build the executable:
pyinstaller --onefile --name WalletAnalyzer main.py
- Use:
- Put
wallets.txtand.envin the same folder as the exe (or run from the project folder). - Double-click
WalletAnalyzer.exe.
- Put
For each wallet address:
- Fetch tokens created by the wallet (Helius)
- Identify the most recent token by creation time
- Fetch all-time volume (Bitquery), with Birdeye as fallback for 24h volume, and DexScreener as an extra fallback
- Compute whether the most recent token is the wallet’s highest-volume token
- Write a row to:
wallets_with_highest_recent_volume.csvwallets_without_highest_recent_volume.csv
| File | Description |
|---|---|
wallets_with_highest_recent_volume.csv |
Wallets where the most recent token has the highest volume |
wallets_without_highest_recent_volume.csv |
Wallets where the most recent token does NOT have the highest volume |
processed_wallets.log |
Checkpoint of processed wallets (resume support) |
failed_wallets.log |
Wallets that failed with an error message |
summary_report.txt |
Final summary report for the run |
volume_debug.log |
Diagnostic logging for volume/fetch issues (best for troubleshooting) |
wallet_address- Wallet that created tokenstotal_tokens_created- Total number of tokens created by the walletmost_recent_token- Address of the most recently created tokenmost_recent_token_symbol- Symbol of the most recent tokenrecent_token_volume_alltime- All-time volume of the most recent tokenhighest_volume_token- Token with the highest volume (among tokens created)highest_volume_amount- Highest volume amountall_tokens_data- Summary of the top 5 tokens by volume
If you stop the script (Ctrl+C) or it crashes:
processed_wallets.logis updated as wallets complete- Re-running will automatically skip wallets already processed
No tokens found: the wallet did not create tokens (or API returned none)- Rate limiting: the script retries with backoff; you may need to reduce batch size
- Crashes: re-run; resume should pick up from the last processed wallet
Edit these in .env if needed:
RATE_LIMIT_DELAYMAX_RETRIESREQUEST_TIMEOUTMAX_WORKERSBITQUERY_DELAY
For input/output file names:
INPUT_FILEPROCESSED_LOGFAILED_LOGHIGH_VOLUME_CSVLOW_VOLUME_CSVSUMMARY_FILEVOLUME_DEBUG_LOG