A Telegram bot for generating custom Solana vanity addresses. Generate addresses that start or end with your chosen text!
- π Prefix & Suffix Generation - Create addresses starting or ending with custom text
- β‘ Fast Generation - Optimized Python backend with concurrent processing
- π Secure - All addresses generated locally, never logged
- π Queue Management - Efficient job queue with Redis
- π Statistics Tracking - Track your generated addresses
- π Production Ready - Docker containerized, scalable architecture
- Docker & Docker Compose
- Telegram Bot Token (from @BotFather)
- Clone the repository:
git clone https://github.com/whale-professor/Solvan.git
cd Solvan- Create
.envfile:
cp .env.example .env
# Edit .env and add your TELEGRAM_BOT_TOKEN
nano .env- Build the Docker images:
docker-compose build- Start the services:
docker-compose up -d- Check logs to verify it's running:
docker logs -f solana-vanity-botYou should see:
β
Bot token loaded
β
Redis connected
β
Bot is POLLING - waiting for messages...
β
/info and /stats commands should now work!
Start the bot on Telegram (find your bot by searching for it or via the link from @BotFather):
/start - Welcome & stats
/generate - Start vanity address generation
/info - How vanity addresses work
/stats - View your statistics
- Choose Type: Select Prefix or Suffix
- Enter String: Type 1-4 characters (valid Base58)
- Case Sensitivity: Choose if search is case-sensitive
- Wait: Bot generates and queues the address
- Receive: Get wallet details with private key
Can use: 1-9, A-Z (except O, I), a-z (except l)
Cannot use: 0, O, I, l (Base58 standard)
βββββββββββββββββββ
β Telegram Bot β (Node.js + Telegraf)
βββββββββββββββββββ€
β BullMQ Queue β (Job queue & processing)
βββββββββββββββββββ€
β Redis β (Queue & result storage)
βββββββββββββββββββ€
β Python Worker β (Vanity generation)
βββββββββββββββββββ
.
βββ vanity-bot.js # Main bot code
βββ vanity_generator.py # Python vanity address generator
βββ docker-compose.yml # Docker orchestration
βββ Dockerfile # Bot container
βββ .env.example # Environment template (copy to .env)
βββ package.json # Node dependencies
βββ README.md # This file
βββ ROADMAP.md # Future features & plans
βββ LICENSE # MIT license
βββ .gitignore # Git ignore rules
| Variable | Description | Default |
|---|---|---|
TELEGRAM_BOT_TOKEN |
Your Telegram bot token (from @BotFather) | Required |
REDIS_HOST |
Redis server hostname | redis |
REDIS_PORT |
Redis server port | 6379 |
Get your bot token:
- Message @BotFather on Telegram
- Use
/newbotcommand - Follow the instructions
- Copy your token to
.envfile
Expected generation times (approximate):
| String Length | Time (Insensitive) | Time (Sensitive) |
|---|---|---|
| 1 char | 1 sec | 1-2 sec |
| 2 chars | 1-5 sec | 5-30 sec |
| 3 chars | 10-60 sec | 1-5 min |
| 4 chars | 2-10 min | 10-60 min |
- β All addresses generated locally in containers
- β Private keys never transmitted externally
- β Results stored temporarily in Redis (1 hour TTL)
- β
Statistics logged locally in
vanity_addresses.jsonl
Check out our ROADMAP.md for planned features:
- β¨ v1.1.0 - Support for 6+ character vanity addresses
- π v1.2.0 - Personal website to host your own vanity address service on your machine
- πͺ v2.0.0 - Custom vanity token address deployment on PumpFun
# 1. Check if containers are running
docker ps
# 2. View logs for errors
docker logs solana-vanity-bot
# 3. Verify bot token in .env
grep TELEGRAM_BOT_TOKEN .env
# 4. Restart the bot
docker-compose restart solana-vanity-bot# Check Redis status
docker logs redis
# Verify Redis is running
docker exec redis redis-cli ping
# Restart Redis
docker-compose restart redis- Increase timeout in
vanity-bot.js(~line 155) - Check system CPU/memory:
docker stats - Reduce concurrent workers
# Clean rebuild
docker-compose down
docker-compose build --no-cache
docker-compose up -d# Install Node dependencies
npm install
# Install Python dependencies
pip install solders
# Start Redis locally
redis-server
# Set environment variable
export TELEGRAM_BOT_TOKEN=your_token_here
# Run bot
node vanity-bot.jsEnable verbose logging:
docker logs -f solana-vanity-bot | grep -i "info\|error\|job\|user"Monitor Redis:
docker exec -it redis redis-cli MONITORFor issues, questions, or feature requests:
- π― Telegram Direct: @WhaleProfessor - Quick support & feature requests
- π GitHub Issues: Open an issue - Bug reports
- π Logs: Check
docker logs solana-vanity-botfor debugging
MIT License - See LICENSE file for details
Built with β€οΈ for the Solana community
Contact me: Telegram @WhaleProfessor