Solana vanity address generator with CLI & TUI. Generate custom Solana wallet addresses with your desired prefix, suffix or regexp.
- Intuitive Terminal User Interface (TUI)
- Command Line Interface (CLI) support
- Concurrent address generation
- Customizable search parameters
- Automatic private key saving
- Timeout configuration
You can install and run Sanity either by using Docker or by cloning the repository and building it directly.
Pull the image from Docker Hub:
docker pull tmlnv/sanity:latest
Run the application using Docker:
# To save generated keys to your current host directory, mounting a volume is necessary.
# The default PrivateKeysFile is 'sanity.private.log' in the container's working directory.
# Run in TUI mode (interactive)
# Note: TUI rendering (colors, cursor) might vary depending on your terminal and Docker setup and not provide a full experience using Docker.
docker run -it --rm -v "$(pwd):/app" tmlnv/sanity:latest
# Run in CLI mode with flags
docker run --rm -v "$(pwd):/app" tmlnv/sanity:latest -prefix 333 -count 1
To build and run from source, you need Go installed.
- Clone the repository:
git clone https://github.com/tmlnv/sanity.git
cd sanity
- Build the executable:
go build -o sanity .
- Run the application:
# Run in TUI mode
./sanity
# Run in CLI mode with flags
./sanity -prefix 333 -count 1
Sanity can be used in two modes: TUI (Terminal User Interface) or CLI (Command Line Interface).
Simply run the program without any flags to enter TUI mode:
./sanity
In TUI mode, you can:
- Enter your desired address prefix
- Specify the number of addresses to generate
- Set the number of concurrent workers (defaults to CPU cores if left empty)
- Configure a timeout duration (e.g., "30s", "5m", "1h")
Use Tab/Shift+Tab or Up/Down arrows to navigate between fields.
Run with flags for CLI mode:
./sanity [-prefix <prefix>] [-suffix <suffix>] [-regexp <pattern>] [-count <number>] [-workers <workers>] [-timeout <duration>]
Examples:
# Generate address with prefix
sanity -prefix 123 -count 1 -workers 4 -timeout 5m
# Generate address with suffix
sanity -suffix 123 -count 2
# Generate address with both prefix and suffix
sanity -prefix 123 -suffix 321
# Generate address matching regular expression
sanity -regexp '^123.*321$' -timeout 10m
Options:
-prefix
: Desired prefix for the address-suffix
: Desired suffix for the address-regexp
: Regular expression pattern to match-count
: Number of addresses to generate (default: 1)-workers
: Number of concurrent workers (default: CPU cores)-timeout
: Maximum duration to search (e.g., "30s", "5m", "1h")
Generated private keys are automatically saved to a file in your current directory. Keep these keys secure and never share them.
This tool is for educational and experimental purposes only. Please be aware that:
- Generated addresses and private keys should be thoroughly verified before use
- Always follow best security practices when handling cryptocurrency wallets
- The author is not responsible for anything
- Validate address input to be compatible with Solana to not waste resources trying to find the impossible one.
- Suffix
- Regexp
- Timeout input proper validation.
- Validate timeout from pure number for CLI
- Case sensitivity
- CLI help
- Tests