Welcome to the Dimensionless Developments Solana address generator π
This project is a local-first crypto utility that helps you generate custom Solana wallet addresses with your chosen text as a prefix or suffix. It uses a high-performance Rust generator, a lightweight Flask streaming API, and a clean Tailwind-based web UI.
- π Local-first key generation - Private keys are generated on your machine
- π― Vanity patterns - Generate both matching prefix and suffix addresses
- β‘ Fast Rust core - Solana keypair generation with minimal overhead
- π Simple web interface - One-page UI with real-time updates
- π‘ SSE streaming - Live progress and result events from backend to browser
- π§© CLI + Web modes - Run directly from terminal or use the browser
- π‘οΈ Input validation - Base58-safe pattern filtering and chain checks
| Layer | Technology | Purpose |
|---|---|---|
| Web Server | Flask | Serves UI + provides API endpoints |
| CORS | Flask-CORS | Browser compatibility for local requests |
| Generator Engine | Rust | Fast Solana address generation |
| Solana SDK | solana-sdk | Real keypair + pubkey generation |
| Encoding | bs58 | Base58 private key output |
| Serialization | serde_json | Streaming JSON event payloads |
| Layer | Technology | Purpose |
|---|---|---|
| UI | HTML + Vanilla JavaScript | Interaction and rendering |
| Styling | Tailwind CSS (CDN) | Utility-first styling |
| Realtime | Server-Sent Events | Live progress stream |
This project is designed to reduce private-key exposure risk:
- β No database integration
- β No wallet uploads
- β No cloud key generation
- β No external wallet APIs in generation flow
- β Keys are generated locally by your Rust binary
- Server-side key leaks caused by centralized key generation services
- Database compromise risk from stored key material
- Third-party telemetry exposure of generated key data
- Long-term retention risk from hosted systems keeping old secrets
- Save private keys securely immediately after generation
- Never share private keys with anyone
- Treat this as a hot-key tool for controlled usage
- Prefer hardware wallet workflows for high-value production funds
Windows (PowerShell):
winget install rustup
rustup default stable
rustc --version
cargo --versionmacOS/Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustc --version
cargo --versionUse Python 3.10+ (3.11+ preferred).
python --versionInstall backend dependencies:
python -m pip install flask flask-corsFrom the project root:
cargo build --releaseExpected binary:
- Windows:
target/release/solana-generator.exe - macOS/Linux:
target/release/solana-generator
cd into our Dimensionless-Developments-Solana-Address-Generator
python server.pycd Dimensionless-Developments-Solana-Address-
python3 server.pyOpen:
http://localhost:8080
# Prefix match
.\target\release\solana-generator.exe moon 1 prefix
# Suffix match
.\target\release\solana-generator.exe moon 1 suffix# Prefix match
./target/release/solana-generator moon 1 prefix
# Suffix match
./target/release/solana-generator moon 1 suffix- User enters a pattern (1-8 Base58 characters)
- Browser connects to
/generate-bothvia SSE - Flask validates input and starts Rust generator subprocesses:
- one for
prefix - one for
suffix
- one for
- Rust emits JSON progress/found events
- Flask forwards events to browser in real time
- UI displays found addresses and private keys
Browser (EventSource)
-> Flask /generate-both
-> Rust binary (prefix)
-> Rust binary (suffix)
<- SSE progress/found/complete
Dimensionless-Developments-Solana-Address-Generator/
βββ Cargo.toml
βββ README.md
βββ server.py
βββ start.sh
βββ src/
β βββ solana_generator.rs
βββ web/
βββ index.html
server.py reads FLASK_DEBUG:
FLASK_DEBUG=1-> debug enabled- default -> debug disabled
The backend applies a generator timeout to avoid hanging subprocesses.
Returns service status.
Example response:
{"status":"ok"}Starts prefix + suffix generation and streams SSE events.
Validation rules:
chainmust besolanapatternmust be 1-8 Base58 chars
Possible streamed type values:
connectedprogressfounderrorcomplete
Common causes:
- Missing Flask packages
- Wrong Python environment
- Port already in use
Fix:
python -m pip install flask flask-cors
python server.pyWindows:
netstat -ano | findstr :8080macOS/Linux:
lsof -i :8080- Confirm server is running at
http://localhost:8080 - Hard refresh the page (
Ctrl+Shift+R) - Check terminal output from
server.py
- Vanity generation is probabilistic (difficulty increases exponentially)
- Shorter patterns are dramatically faster
- Build with
--releasefor best performance
| Pattern Length | Typical Runtime |
|---|---|
| 1-2 chars | Usually very fast |
| 3-4 chars | Seconds to tens of seconds |
| 5+ chars | Can take much longer |
Note: Prefix vs suffix difficulty may vary by randomness and pattern.
- Solana-only generation path in backend
- Single-page UI (no account/auth system)
- No persistent storage by design
Contributions are welcome.
Please keep these principles intact:
- No private-key persistence
- No remote key handling
- Clear warnings around secret handling
- Keep the local-first model
Made by Dimensionless Developments Head to our website https://www.dimensionlessdevelopments.com. email: contact@dimensionlessdevelopments.com
This tool generates real cryptographic private keys.
You are solely responsible for:
- key backup and storage,
- operational security,
- and any resulting asset loss.
Use at your own risk.