VanityUltra is a high-performance Solana vanity wallet generator written in C#. It uses multi-threading and cryptographic primitives to generate Solana addresses that match custom patterns — ideal for branding, exclusivity, or personal flair.
- High Performance: Multi-threaded generation using all available CPU cores
- Cryptographically Secure: Uses NSec.Cryptography for Ed25519 key generation
- Base58 Encoding: Proper Solana address encoding with SimpleBase
- Progress Tracking: Real-time progress updates with ETA calculations
- Configuration Support: Customizable settings via JSON configuration
- Multi-Process Mode: Distribute work across multiple processes for maximum performance
- Comprehensive Validation: Input validation and error handling
- Unit Tests: Full test coverage for core functionality
- .NET 9 SDK
- NuGet packages:
SimpleBasev4.0.0NSec.Cryptographyv24.4.0xunitv2.6.1 (for tests)
# Build the main project
dotnet build -c Release
# Run tests
dotnet test
# Publish for deployment
dotnet publish -c Release -r win-x64 --self-contained true# Interactive mode
dotnet run
# Command line mode
dotnet run -- sol
dotnet run -- moon
dotnet run -- 1234# Launch multiple processes for maximum performance
dotnet run -- mega solCreate a config.json file to customize behavior:
{
"MaxThreads": 0,
"BatchSize": 5000,
"ProgressUpdateIntervalMs": 2000,
"CaseSensitive": false,
"VerboseOutput": true
}Configuration Options:
MaxThreads: Maximum number of threads (0 = auto-detect)BatchSize: Keys generated per batch per threadProgressUpdateIntervalMs: Progress update frequency in millisecondsCaseSensitive: Whether vanity pattern matching is case-sensitiveVerboseOutput: Enable detailed progress reporting
The generator is optimized for maximum performance:
- Threading: Uses CPU cores efficiently with minimal contention
- Batch Processing: Processes keys in batches to reduce overhead
- Memory Management: Optimized memory usage with proper disposal
- Progress Reporting: Minimal overhead progress updates
Typical Performance:
- 2-character pattern: ~3,364 attempts (seconds)
- 3-character pattern: ~195,000 attempts (minutes)
- 4-character pattern: ~11,300,000 attempts (hours)
- 5-character pattern: ~656,000,000 attempts (days)
For maximum performance on high-core systems:
dotnet run -- mega yourpatternThis mode:
- Launches multiple processes
- Distributes work across all CPU cores
- Provides maximum parallelization
- Automatically detects optimal process/thread counts
The generator respects these environment variables:
FORCE_THREADS: Override thread countWORKER_ID: Process identifier for multi-process modeRUNPOD_CORES: Override CPU core detection
Run the test suite:
dotnet testTests cover:
- Input validation
- Base58 encoding validation
- Performance estimation
- Configuration serialization
- Core generation functionality
When a vanity address is found, the generator outputs:
╔══════════════════════════════════════════════════════════════════════════════╗
║ 🎉 SUCCESS! VANITY ADDRESS FOUND! 🎉 ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ 📍 ADDRESS: [Generated Solana Address] ║
║ 🔑 FULL SECRET KEY: [Base58 Encoded Secret Key] ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ 🎯 TOTAL ATTEMPTS: [Number of attempts] ║
║ ⏱️ TIME ELAPSED: [Time taken] ║
║ 🧵 FOUND BY THREAD: [Thread ID] ║
║ ⚡ AVERAGE RATE: [Attempts per second] ║
║ 🎲 PROBABILITY: [Statistical probability] ║
║ 🎯 TARGET ACHIEVED: [Pattern found] ║
╚══════════════════════════════════════════════════════════════════════════════╝
- Private Keys: Generated private keys are cryptographically secure
- Randomness: Uses NSec.Cryptography for high-quality randomness
- Storage: Never stores or logs private keys
- Validation: All inputs are validated before processing
- Pattern Length: Longer patterns take exponentially more time
- Resource Usage: High CPU usage during generation
- Private Key Security: Always store private keys securely
- Base58 Characters: Only use valid Base58 characters (excludes 0, O, I, l)
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
This project is open source. Please use responsibly and in accordance with applicable laws and regulations.
For issues and questions:
- Check the test suite for usage examples
- Review the configuration options
- Check system requirements
- Open an issue with detailed information