A high-performance Rust-based tool to generate Solana vanity addresses with custom prefix and/or suffix patterns.
- π Multi-threaded: Utilizes all CPU cores for maximum performance
- π― Flexible Matching: Support for prefix, suffix, or both
- π Real-time Progress: Optional verbose mode to track generation speed
- β Base58 Validation: Ensures only valid Base58 characters are used
- π Secure: Generates cryptographically secure keypairs
- Rust 1.70 or higher
- Cargo (comes with Rust)
git clone <repository-url>
cd vanity-address-solana
cargo build --releaseThe compiled binary will be available at target/release/vanity-address-solana
To install the binary globally so you can run it from anywhere:
cargo install --path .After installation, you can run the tool directly:
vanity-address-solana --prefix "ABC"You can also add the release directory to your PATH:
# macOS/Linux - Add to ~/.zshrc or ~/.bashrc
export PATH="$PATH:$(pwd)/target/release"Then run:
vanity-address-solana --prefix "ABC"If you built with cargo build --release:
# Run from project directory
./target/release/vanity-address-solana --prefix "ABC"
# Or using cargo run (slower, but convenient during development)
cargo run --release -- --prefix "ABC"If you installed globally with cargo install --path .:
vanity-address-solana --prefix "ABC"Generate an address with a specific prefix:
cargo run --release -- --prefix "ABC"Generate an address with a specific suffix:
cargo run --release -- --suffix "xyz"Generate an address with both prefix and suffix:
cargo run --release -- --prefix "Sol" --suffix "123"Generate multiple addresses:
cargo run --release -- --prefix "ABC" --count 5Generate with case-sensitive matching:
cargo run --release -- --prefix "ABC" --case-sensitiveSpecify number of threads:
cargo run --release -- --prefix "ABC" --threads 8Enable verbose mode to see real-time attempts:
cargo run --release -- --prefix "ABC" --verboseCombine multiple options:
cargo run --release -- --prefix "Sol" --suffix "end" --count 3 --case-sensitive --verbose --threads 16-p, --prefix <PREFIX>: Specify the prefix pattern to match-s, --suffix <SUFFIX>: Specify the suffix pattern to match-n, --count <COUNT>: Number of addresses to generate (default: 1)-t, --threads <THREADS>: Number of threads to use (default: number of CPU cores)-c, --case-sensitive: Enable case-sensitive matching (default: case-insensitive)-v, --verbose: Show attempts per second in real-time-h, --help: Show help information-V, --version: Show version information
cargo run --release -- --prefix "Dog"Output:
π Searching for Solana vanity address with prefix 'Dog'
βοΈ Using 8 threads
β³ This may take a while...
β
Found vanity address!
π Public Key: DogXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
π Private Key: [1, 2, 3, ...]
π Statistics:
Attempts: 458234
Time: 12.34s
Rate: 37132 attempts/sec
β οΈ IMPORTANT: Save your private key securely!
You can import it using: solana-keygen recover
cargo run --release -- --suffix "end" --verbosecargo run --release -- --prefix "Sol" --suffix "Dev"cargo run --release -- --prefix "ABC" --count 10 --verboseOutput:
π Searching for 10 Solana vanity addresses with prefix 'abc' (case-insensitive)
βοΈ Using 8 threads
β³ This may take a while...
β‘ Attempts: 2543821 | Found: 10/10 | Rate: 42397 attempts/sec
β
Found 10 vanity addresses!
ββββββββββββββββββββββββββββββββββββββββββββββ
Address #1
π Public Key: AbcXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
π Private Key: [1, 2, 3, ...]
ββββββββββββββββββββββββββββββββββββββββββββββ
Address #2
π Public Key: aBcYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
π Private Key: [4, 5, 6, ...]
...
π Statistics:
Total Attempts: 2543821
Addresses Found: 10
Time: 60.00s
Rate: 42397 attempts/sec
Avg per address: 254382 attempts
β οΈ IMPORTANT: Save your private keys securely!
You can import them using: solana-keygen recover
- Case-insensitive (default): Matches patterns regardless of case. For example,
--prefix "abc"will matchAbc,ABC,aBc, etc. - Case-sensitive: Use
--case-sensitiveflag to match exact case. For example,--prefix "ABC" --case-sensitivewill only match addresses starting with uppercaseABC.
Note: Case-insensitive mode significantly increases your chances of finding a match since it accepts any combination of upper/lowercase letters.
- Keep your private key secure: Never share your private key with anyone
- Back up your keys: Store them in a secure location
- The private key is displayed in array format for easy import
- Longer patterns take exponentially more time to find
- Each additional character increases difficulty by ~58x (Base58 alphabet)
- Using more threads generally improves performance
Valid characters: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Note: The following characters are NOT valid in Base58:
0(zero)O(uppercase o)I(uppercase i)l(lowercase L)
| Pattern Length | Approximate Attempts | Estimated Time (50k/sec) |
|---|---|---|
| 1 character | ~29 | < 1 second |
| 2 characters | ~1,682 | < 1 second |
| 3 characters | ~97,336 | ~2 seconds |
| 4 characters | ~5.6M | ~2 minutes |
| 5 characters | ~328M | ~1.8 hours |
| 6 characters | ~19B | ~4.4 days |
Note: These are rough estimates. Actual time depends on CPU performance and luck.
Make sure your prefix/suffix only contains valid Base58 characters. Avoid 0, O, I, and l.
- Make sure you're using the
--releaseflag when building/running - Try adjusting the number of threads with
--threads - Close other CPU-intensive applications
MIT License
This tool generates cryptographically secure keypairs, but the security of your funds depends on how you store and manage your private keys. Always follow best practices for key management.