Address Generator Tutorial: Derive Crypto Addresses
Every cryptocurrency transaction requires an address — a unique identifier that functions like a bank account number. But unlike bank accounts, crypto addresses are mathematically derived from private keys, which are themselves derived from your seed phrase. SafeSeed's Address Generator lets you perform this derivation directly in your browser, giving you complete visibility into how your wallets generate addresses and enabling you to verify that your backup seed phrase produces the expected addresses.
Derive addresses for 15+ blockchains at safeseed.app/tools/address-generator/ — fully client-side, works offline.
Why You Need an Address Generator
You might wonder: if your wallet already generates addresses, why would you need a separate tool? There are several compelling reasons.
Wallet Verification
When you set up a hardware wallet with a seed phrase, you trust that the device correctly derives addresses from that seed. But how do you know? The Address Generator lets you independently verify the derivation. Enter your seed phrase into SafeSeed (on an air-gapped machine) and confirm that the addresses match what your hardware wallet shows.
Wallet Recovery
If your hardware wallet is lost or damaged, you need to recover your funds using your seed phrase. But what if the new wallet software you use generates different addresses? Different wallets may use different derivation paths (BIP-44, BIP-49, BIP-84). The Address Generator helps you explore different paths to find where your funds are.
Pre-Generating Receiving Addresses
For privacy-conscious users, you may want to pre-generate a batch of receiving addresses from your seed without connecting your hardware wallet. The Address Generator can produce a list of addresses along a derivation path, which you can then share as needed.
Watch-Only Wallets
By entering an extended public key (xpub/ypub/zpub) instead of a seed phrase, you can derive addresses without ever exposing your private keys. This is the foundation of watch-only wallets that can monitor balances and generate receiving addresses but cannot spend funds.
Understanding Address Derivation
Before diving into the tool, it helps to understand the underlying concepts.
From Seed to Address
The journey from seed phrase to address follows a well-defined chain:
Seed Phrase (BIP-39)
↓ PBKDF2
Master Seed (512 bits)
↓ BIP-32
Master Key (xprv)
↓ BIP-44 Path
Child Private Key
↓ Elliptic Curve
Child Public Key
↓ Hash + Encoding
Address
Each step is deterministic — the same input always produces the same output. This is what makes wallet recovery possible: as long as you have the seed phrase (and know the derivation path), you can regenerate every key and address.
BIP-44 Derivation Paths
BIP-44 defines a standard structure for organizing keys:
m / purpose' / coin_type' / account' / change / address_index
| Level | Description | Example |
|---|---|---|
m | Master key | Root of the tree |
purpose' | BIP standard | 44' (Legacy), 49' (SegWit), 84' (Native SegWit), 86' (Taproot) |
coin_type' | Cryptocurrency | 0' (Bitcoin), 60' (Ethereum), 2' (Litecoin) |
account' | Account index | 0' (first account), 1' (second account) |
change | External/internal chain | 0 (receiving), 1 (change) |
address_index | Address number | 0, 1, 2, ... |
The apostrophe (') denotes hardened derivation, which prevents child keys from being used to derive the parent key. This is a critical security feature.
Address Formats (Bitcoin)
Bitcoin has evolved through several address formats, each offering different features:
| Format | Prefix | Path Purpose | Fee Level | Example |
|---|---|---|---|---|
| Legacy (P2PKH) | 1 | 44' | Highest | 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 |
| SegWit (P2SH-P2WPKH) | 3 | 49' | Medium | 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy |
| Native SegWit (P2WPKH) | bc1q | 84' | Low | bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq |
| Taproot (P2TR) | bc1p | 86' | Lowest | bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297 |
The Address Generator lets you select which format to derive, so you can match whatever your wallet uses.
Step-by-Step: Deriving Addresses from a Seed Phrase
Step 1: Open the Address Generator
Navigate to safeseed.app/tools/address-generator/ in your browser.
Security note: If you are entering a seed phrase that protects real funds, follow the Offline Usage Guide and use the tool on an air-gapped computer.
Step 2: Enter Your Seed Phrase
In the input field, enter your 12-word or 24-word BIP-39 mnemonic phrase. The tool validates the phrase in real-time:
- Green indicator: Valid BIP-39 phrase (correct checksum)
- Red indicator: Invalid phrase (word not in BIP-39 list, or checksum mismatch)
If you receive a validation error, common causes include:
- A misspelled word (check the BIP-39 wordlist)
- Words in the wrong order
- A missing word
- Extra spaces or characters
Step 3: (Optional) Enter a Passphrase
If you use a BIP-39 passphrase (25th word), enter it in the passphrase field. The passphrase fundamentally changes the derived seed, resulting in entirely different keys and addresses. If you normally use a passphrase with your wallet, you must enter it here to get matching addresses.
Leaving the passphrase empty is also valid — it generates addresses for the "default" wallet that exists without a passphrase.
Step 4: Select the Cryptocurrency
Choose the blockchain for which you want to derive addresses. The Address Generator supports 15+ blockchains:
- Bitcoin (BTC) — with Legacy, SegWit, Native SegWit, and Taproot options
- Ethereum (ETH) — and all EVM-compatible chains
- Litecoin (LTC)
- Bitcoin Cash (BCH)
- Dogecoin (DOGE)
- And many more (see Supported Blockchains)
Selecting a cryptocurrency automatically sets the appropriate coin_type in the derivation path.
Step 5: Choose the Address Format
For Bitcoin, select your preferred address format:
- Native SegWit (bc1q): Recommended for modern wallets, lowest fees
- Taproot (bc1p): Latest format, supported by most wallets in 2026
- SegWit (3...): Compatible with older wallets
- Legacy (1...): Maximum compatibility, highest fees
For Ethereum, there is only one address format (0x...), so this step is not applicable.
Step 6: Set the Derivation Path
The tool pre-fills the standard derivation path based on your cryptocurrency and format selections. For most users, the default is correct:
- Bitcoin Native SegWit:
m/84'/0'/0'/0/0 - Bitcoin Taproot:
m/86'/0'/0'/0/0 - Ethereum:
m/44'/60'/0'/0/0 - Litecoin:
m/84'/2'/0'/0/0
If your wallet uses a non-standard path, you can manually edit it. This is particularly useful when recovering funds from wallets that used custom derivation paths.
Step 7: Generate Addresses
Click Derive to generate addresses. The tool shows:
- Address: The public address you can receive funds at
- Private Key: The corresponding private key in Wallet Import Format (WIF) or hex
- Derivation Path: The exact path used to derive this address
- Public Key: The compressed or uncompressed public key
You can generate multiple sequential addresses by adjusting the address index. Most wallets generate addresses sequentially starting from index 0:
| Index | Path (Bitcoin Native SegWit) | Purpose |
|---|---|---|
| 0 | m/84'/0'/0'/0/0 | First receiving address |
| 1 | m/84'/0'/0'/0/1 | Second receiving address |
| 2 | m/84'/0'/0'/0/2 | Third receiving address |
| ... | ... | ... |
Step 8: Verify Against Your Wallet
Compare the derived addresses with those shown in your wallet software or hardware wallet:
- Open your wallet and navigate to the "Receive" section
- Generate a new address in the wallet
- Compare it with the first address (index 0) derived by SafeSeed
- Generate additional addresses and compare index 1, 2, etc.
If addresses match, your seed phrase backup is verified and correct. If they do not match, check:
- Is the derivation path the same? (Different wallets use different paths)
- Did you enter the passphrase correctly?
- Is the address format the same? (Legacy vs. SegWit vs. Taproot)
Step-by-Step: Deriving Addresses from an Extended Public Key
For watch-only operations where you do not want to expose your seed phrase, you can use an extended public key.
What Is an Extended Public Key?
An extended public key (xpub, ypub, or zpub) is a public key at a specific level of the derivation tree that can derive all child public keys (and thus addresses) below it, without knowing any private keys.
| Key Type | Format Prefix | Address Type |
|---|---|---|
| xpub | xpub6... | Legacy (P2PKH) |
| ypub | ypub6... | SegWit (P2SH-P2WPKH) |
| zpub | zpub6... | Native SegWit (P2WPKH) |
Exporting Your Extended Public Key
Most wallets allow you to export your xpub/ypub/zpub:
- Ledger Live: Settings > Accounts > (select account) > Advanced > Extended Public Key
- Trezor Suite: Account details > Show xpub
- Electrum: Wallet > Information
- BlueWallet: Wallet > Settings > Show XPUB
Using the xpub in SafeSeed
- Paste your extended public key into the Address Generator input field
- The tool detects the key type and selects the appropriate address format
- Generate addresses starting from index 0
- Compare with your wallet to verify
Advantages of xpub-based derivation:
- No seed phrase exposure — safe to use on any computer
- Generates only public addresses (no private keys displayed)
- Ideal for setting up watch-only wallets or monitoring tools
- Can be shared with accountants or portfolio trackers without security risk
Limitations:
- Cannot derive private keys (by design)
- Privacy: anyone with your xpub can see all your addresses and balances
Practical Use Cases
Use Case 1: Verifying a Hardware Wallet Setup
You just set up a new Ledger Nano with a 24-word seed phrase. Before depositing funds:
- Write down the seed phrase on paper
- Open SafeSeed Address Generator on an air-gapped computer
- Enter the seed phrase
- Select Bitcoin > Native SegWit
- Derive the first 5 addresses
- Compare them with the first 5 receiving addresses shown in Ledger Live
- If all match, your seed phrase backup is correct
- Wipe the air-gapped computer
Use Case 2: Finding Missing Funds After Recovery
You recovered a wallet using your seed phrase, but your funds are not showing up. The wallet might be using a different derivation path.
- Enter your seed phrase into the Address Generator
- Try different paths:
m/44'/0'/0'/0/0(Legacy)m/49'/0'/0'/0/0(SegWit)m/84'/0'/0'/0/0(Native SegWit)m/86'/0'/0'/0/0(Taproot)
- For each path, check the first few addresses on a blockchain explorer
- When you find addresses with balance, you know the correct path
- Configure your recovery wallet to use that path
Use Case 3: Generating a Batch of Receiving Addresses
You want to receive Bitcoin donations or payments but do not want to expose your hardware wallet or seed phrase:
- Export your zpub from your hardware wallet
- Enter it into the Address Generator
- Generate addresses 0 through 99
- Copy these addresses into your payment system or website
- Each payer gets a unique address, improving privacy
- Funds arrive at addresses controlled by your hardware wallet
Use Case 4: Cross-Verifying Wallet Software
You use both Electrum and BlueWallet with the same seed phrase. To verify both derive the same addresses:
- Enter your seed phrase into SafeSeed's Address Generator
- Derive addresses for the appropriate path
- Compare with Electrum's address list
- Compare with BlueWallet's address list
- All three should match exactly
Use Case 5: Multi-Chain Asset Management
You have one 24-word seed phrase and want to receive Bitcoin, Ethereum, and Litecoin:
- Enter your seed phrase
- Select Bitcoin > Native SegWit: note address
bc1q... - Select Ethereum: note address
0x... - Select Litecoin: note address
ltc1q... - Each blockchain derives from the same seed but uses a different coin_type in the path, ensuring no collision
Understanding the Output
Address
The formatted public address for the selected blockchain. This is what you share with others to receive funds. The format depends on the blockchain and address type selected.
Private Key
The corresponding private key that can spend funds sent to the address. Displayed in WIF (Wallet Import Format) for Bitcoin-based chains or hexadecimal for Ethereum-based chains.
Never share this value. It provides complete control over the funds at the corresponding address.
Public Key
The compressed public key (33 bytes, hex) derived from the private key. The address is derived from this public key through hashing. The public key itself is not typically needed for everyday use but is important for multi-signature setups and advanced applications.
Derivation Path
The exact BIP-44/49/84/86 path used to derive this particular key pair. This is the information you need if you ever need to recover the same address using different wallet software.
Security Best Practices
When Entering a Seed Phrase
- Use an air-gapped computer for seed phrases protecting real funds
- Disconnect from the internet before entering the seed
- Close all other browser tabs and applications
- Disable browser extensions that might have clipboard access
- Never paste a seed phrase from your clipboard (type it manually)
- Clear browser data after you are done
- Restart the computer for maximum assurance
When Using an Extended Public Key
Extended public keys (xpub/ypub/zpub) do not expose your private keys, so they can be used on regular, internet-connected computers. However, be aware that:
- Anyone with your xpub can derive all your addresses and see your balances
- This is a privacy concern, not a security concern — they cannot spend your funds
- Treat your xpub as sensitive but not secret
General
- Do not bookmark the page with a seed phrase entered
- Do not use autofill or password managers to store seed phrases
- Verify the URL before entering any sensitive data
- Check the source code if you are technically inclined — SafeSeed is open-source
FAQ
Why do different wallets show different addresses for the same seed phrase?
Different wallets may use different derivation paths. For example, Electrum uses m/84'/0'/0' for Native SegWit while some older wallets might use m/44'/0'/0' for Legacy addresses. The Address Generator lets you try different paths to match what your wallet uses. See the Key Derivation Tool Tutorial for more on derivation paths.
Can I generate Ethereum addresses from a Bitcoin seed phrase?
Yes. A BIP-39 seed phrase is blockchain-agnostic. The same 24 words can derive Bitcoin addresses (using m/44'/0'/0'/0/0), Ethereum addresses (using m/44'/60'/0'/0/0), and addresses for any other supported blockchain. The coin_type parameter in the path determines which blockchain's addresses are derived.
Is it safe to enter my seed phrase into a website?
SafeSeed runs entirely client-side — no data is sent to any server. However, the safest practice for real funds is to use the tool on an air-gapped computer with no internet connection. This eliminates the risk of browser extensions, malware, or any network-based attack intercepting your seed phrase. See the Offline Usage Guide.
What is the difference between xpub, ypub, and zpub?
These are extended public keys that correspond to different address formats: xpub for Legacy (BIP-44), ypub for SegWit (BIP-49), and zpub for Native SegWit (BIP-84). They contain the same underlying public key data but signal to wallet software which address format to derive. The Address Generator accepts all three formats.
How many addresses can I derive from one seed phrase?
Theoretically, each BIP-44 path supports up to 2^31 (about 2.1 billion) addresses per account, and you can have up to 2^31 accounts per coin type. In practice, wallets typically scan the first 20-100 addresses. The Address Generator lets you derive as many as you need by incrementing the address index.
Can I use the Address Generator to check if my seed phrase has been compromised?
You can derive your addresses and check them on a blockchain explorer. If you see unexpected outgoing transactions, your seed phrase may have been compromised. However, perform this check on an air-gapped machine — if you enter a potentially compromised seed phrase on a connected device, you are confirming it is valid and funded, which could accelerate theft.
What if the derived address does not match my wallet?
Check these common causes: (1) Wrong derivation path — try switching between BIP-44/49/84/86. (2) Wrong passphrase — ensure you are using the same passphrase as your wallet. (3) Wrong account index — some wallets use account 1' instead of 0'. (4) Wrong address format — verify Legacy vs. SegWit vs. Native SegWit. The Key Derivation Tool can help you explore the full derivation tree.
Do I need to generate a new address for every transaction?
It is a best practice to use a fresh address for each incoming transaction. This improves privacy by preventing blockchain observers from linking your transactions. Most wallet software handles this automatically (using sequential address indexes). The Address Generator can help you pre-generate a batch of addresses if needed.
Related Guides
- SafeSeed Tools Overview — Overview of all SafeSeed tools
- Seed Phrase Generator Tutorial — Generate the seed phrase to derive addresses from
- Key Derivation Tool Tutorial — Understand derivation paths in depth
- Supported Blockchains — Full list of supported cryptocurrencies and their paths
- Using SafeSeed Offline — Air-gapped address derivation