What Is a Vanity Address? Custom Crypto Address Guide
جدول المحتويات
Most cryptocurrency addresses are strings of seemingly random characters. A vanity address replaces that randomness with a deliberate pattern -- a recognizable prefix or suffix that you choose. Instead of bc1q8x6k..., your Bitcoin address might read bc1qcoffee.... Instead of 0x7a3b..., your Ethereum address could be 0xdead... or 0xcafe....
Vanity addresses are not a different type of address. They are standard addresses, generated by standard cryptographic processes, that happen to contain a human-readable pattern. The security is identical to any other address; the only difference is that you searched through many possible keys until you found one whose address matched your desired pattern.
Vanity Addresses Explained¶
Every cryptocurrency address is derived from a private key through a one-way mathematical process. You cannot reverse-engineer a private key from an address, and you cannot predict what address a given private key will produce without actually computing it.
A vanity address generator exploits this by running the generation process millions or billions of times, checking each result against your desired pattern. When it finds a match, it outputs the private key and the corresponding address. The process is conceptually simple:
- Generate a random private key
- Derive the public key from the private key
- Compute the address from the public key
- Check if the address contains the target pattern
- If not, go back to step 1
This is a brute-force search. There is no mathematical shortcut to generate a private key that produces a specific address prefix. The search is computationally expensive and the time required grows exponentially with the length of the desired pattern.
The term "vanity" comes from the same concept as a vanity license plate: a personalized identifier that serves no functional purpose beyond recognition and branding.
How Vanity Generation Works¶
The technical process varies slightly by blockchain, but the core mechanics are consistent.
Bitcoin vanity addresses¶
For Bitcoin, the generator creates a random 256-bit private key, computes the secp256k1 public key, then applies the appropriate address encoding. For legacy addresses, this means hashing with SHA-256 and RIPEMD-160, then encoding with Base58Check. For SegWit addresses, the public key hash is encoded with Bech32.
Because Bech32 uses only lowercase letters and numbers (the characters 023456789acdefghjklmnpqrstuvwxyz), the usable character set for Bitcoin SegWit vanity patterns is more restricted than Base58. You cannot search for uppercase letters or the characters 1, b, i, or o in a Bech32 vanity prefix.
Ethereum vanity addresses¶
For Ethereum and other EVM chains, the generator creates a private key, derives the secp256k1 public key, hashes it with Keccak-256, and takes the last 20 bytes as the address. The address is then displayed with the 0x prefix.
Ethereum vanity generation is typically faster per attempt than Bitcoin because the address derivation involves fewer hashing steps. The hex character set (0-9, a-f) means only 16 possible characters per position, which also affects search times.
Parallel search¶
Modern vanity generators parallelize the search across multiple CPU cores or GPU threads. Each thread independently generates and checks keys. Since each attempt is independent, the search scales linearly with available compute power. If one thread can check 1 million addresses per second, eight threads can check 8 million.
GPU-accelerated generators can achieve hundreds of millions of checks per second, making patterns of 6-7 characters feasible within reasonable timeframes.
Time Estimates by Prefix Length¶
The time to find a vanity address depends on the number of possible characters per position and the length of the desired pattern. The math is straightforward probability.
Bitcoin Bech32 (32 characters in alphabet)¶
For a Bech32 address prefix after bc1q:
| Prefix Length | Possible Combinations | Average Time (1M checks/sec) | Average Time (100M checks/sec) |
|---|---|---|---|
| 1 character | 32 | Instant | Instant |
| 2 characters | 1,024 | < 1 second | Instant |
| 3 characters | 32,768 | < 1 second | Instant |
| 4 characters | ~1 million | ~1 second | Instant |
| 5 characters | ~33 million | ~33 seconds | < 1 second |
| 6 characters | ~1 billion | ~17 minutes | ~10 seconds |
| 7 characters | ~34 billion | ~9.5 hours | ~5.7 minutes |
| 8 characters | ~1 trillion | ~12.7 days | ~3 hours |
Ethereum hex (16 characters in alphabet)¶
For a hex prefix after 0x:
| Prefix Length | Possible Combinations | Average Time (1M checks/sec) | Average Time (100M checks/sec) |
|---|---|---|---|
| 1 character | 16 | Instant | Instant |
| 2 characters | 256 | Instant | Instant |
| 3 characters | 4,096 | < 1 second | Instant |
| 4 characters | 65,536 | < 1 second | Instant |
| 5 characters | ~1 million | ~1 second | Instant |
| 6 characters | ~16.7 million | ~17 seconds | Instant |
| 7 characters | ~268 million | ~4.5 minutes | ~2.7 seconds |
| 8 characters | ~4.3 billion | ~1.2 hours | ~43 seconds |
These are average times. Due to the probabilistic nature of the search, you might find a match in half the expected time or it might take twice as long. The estimates assume a single pattern match at the start of the address; searching for a suffix or a pattern anywhere in the address changes the probabilities.
Each additional character multiplies the search time by the size of the character set (32x for Bech32, 16x for hex). This exponential growth is why vanity prefixes beyond 7-8 characters become impractical for most users.
Security Considerations¶
Vanity addresses carry several security nuances that users should understand before generating or trusting them.
The generation tool must be trustworthy¶
The vanity generation process produces a private key. If the tool generating your vanity address is malicious, it could record or transmit that private key, giving the attacker full control of the address. This is the single greatest risk with vanity addresses.
Always use open-source tools that you can audit. SafeSeed's Bitcoin Vanity Address Generator and Ethereum Vanity Address Generator run entirely in your browser. The private key is generated and searched locally, and no data leaves your device. The source code is publicly available for review.
Vanity address phishing¶
Attackers have exploited vanity addresses in a specific type of phishing attack called "address poisoning." The attack works as follows:
- The attacker observes a target's transaction history on the public blockchain
- They generate a vanity address that matches the first and last few characters of an address the target frequently interacts with
- They send a tiny transaction from this look-alike address to the target
- When the target later copies an address from their transaction history, they might accidentally copy the attacker's look-alike address instead
This attack is particularly effective on Ethereum and EVM chains where address histories are easily viewable. The defense is straightforward: never copy addresses from transaction histories. Always use your address book or the original source.
Entropy is not reduced¶
A common misconception is that vanity addresses are less secure because the attacker knows part of the address. This is incorrect. The address is derived from the private key through a one-way function. Knowing that an address starts with bc1qcoffee gives an attacker zero information about the private key. The search space for the private key remains the full 2^256 possibilities.
The vanity pattern constrains the address, not the key. The private key behind a vanity address has exactly as much entropy as any other private key. For more on why entropy matters, see What Is Entropy in Crypto?.
Do not use third-party generation services¶
Never use a website or service that generates a vanity address for you and sends you the private key. If someone else generates the key, they have a copy. This applies to services that claim to generate keys "securely" on their servers. The only safe approach is local generation on your own device.
Supported Chains¶
Vanity address generation works on any blockchain, though the practical difficulty and character sets vary.
Bitcoin¶
Both legacy (Base58Check, prefix 1 or 3) and SegWit (Bech32, prefix bc1q or bc1p) vanity addresses are supported. Bech32 vanity addresses are recommended for lower transaction fees and better error detection.
Ethereum and EVM chains¶
Since all EVM chains -- Ethereum, Polygon, Arbitrum, Optimism, Base -- share the same address format, a vanity address generated for Ethereum is automatically valid on all EVM chains. This is one of the advantages of the shared 0x format.
Dogecoin and Litecoin¶
Dogecoin addresses start with D, so vanity generation searches for patterns after the initial D. Litecoin legacy addresses start with L or M, with similar constraints. Both use Base58Check encoding.
Solana¶
Solana addresses use Base58-encoded Ed25519 public keys. Vanity generation is possible but requires Ed25519 key generation, which is computationally different from the secp256k1-based generation used by Bitcoin and Ethereum.
Use Cases for Vanity Addresses¶
Beyond personal branding, vanity addresses serve several practical purposes:
Business identity¶
Organizations accepting cryptocurrency donations or payments can use vanity addresses to build recognition and trust. A charity might use an address starting with bc1qhelp... or a coffee shop might use 0xcafe.... This makes it easier for senders to visually confirm they are sending to the right entity.
Fraud detection¶
When your address has a memorable pattern, you are more likely to notice if malware or a phishing attack substitutes a different address. Recognizing your vanity prefix at a glance adds a human-checkable layer of verification on top of automated checksum validation.
Collectibility and fun¶
Some users generate vanity addresses purely for entertainment or as demonstrations of computational effort. Addresses with meaningful words, repeated characters, or culturally significant numbers hold novelty value in the crypto community.
Generate Your Vanity Address Safely¶
If you want to generate a vanity address, follow these principles:
-
Use client-side, open-source tools. SafeSeed's Bitcoin Vanity Address Generator and Ethereum Vanity Address Generator run entirely in your browser with no server-side component.
-
Keep your expectations realistic. A 4-5 character custom prefix is achievable in seconds to minutes. A 7-8 character prefix may take hours. Anything beyond 8 characters requires serious hardware and patience.
-
Secure the private key immediately. Once generated, the private key for your vanity address must be stored with the same care as any other private key. Consider using cold storage or a paper wallet. Our Paper Wallet Complete Guide covers the best practices.
-
Verify the address independently. After generation, validate the address using a separate tool like the Bitcoin Address Validator to confirm it is well-formed and the checksum is correct.
-
Generate offline if possible. For maximum security, generate your vanity address on an air-gapped machine. This eliminates any possibility of network-based key exfiltration. See How to Generate a Bitcoin Seed Phrase Offline for the general approach to offline key generation.
A vanity address is a small personalization on top of robust cryptography. The math does not change, the security does not weaken, and the only cost is the compute time you invest in the search. Done correctly with trusted tools, it is a safe and enjoyable way to make your crypto identity recognizable.