How one BTC wallet can have multiple addresses at the same time
Feb. 10, 2026 by John Rei Enriquez
Shows how addresses are derived for a Bitcoin wallet
π Non-Custodial Wallet Addresses
Understanding how one wallet can have multiple addresses simultaneously
This single seed phrase generates ALL your addresses using deterministic derivation (BIP-44 standard).
Generated Addresses
β Key Answers to Your Questions:
- Multiple addresses at once: YES! You can have many addresses active simultaneously. They all belong to the same wallet.
- Address reuse: Addresses CAN be reused, but it's not recommended for privacy reasons.
- When are new addresses created: It's not sequential per transaction. You can generate addresses anytime, even before using previous ones.
- All addresses remain valid: Old addresses continue to work forever and can receive funds at any time.
π― Hierarchical Deterministic (HD)
One seed generates unlimited addresses using mathematical derivation. Each address has a unique index number.
π Privacy Benefits
Using different addresses for each transaction makes it harder to track your total balance and transaction history.
βΎοΈ Always Accessible
All addresses remain active forever. You can receive funds to any generated address at any time, even years later.
π Address Length & Format
- Bitcoin addresses DO have character limits - they're not unlimited length!
- Legacy (P2PKH): 26-35 characters, starts with "1"
- SegWit (P2SH): 34 characters, starts with "3"
- Native SegWit (Bech32): 42 characters, starts with "bc1q"
- Taproot (Bech32m): 62 characters, starts with "bc1p"
- Different formats have different fixed or limited lengths based on the address type and encoding scheme.
π How Derivation Paths Point Back to the Master Seed
The magic of HD wallets: The derivation path doesn't "point back" in the sense of storing a reference. Instead, it's a mathematical one-way function that can be reproduced deterministically.
- Step 1: Master seed β Master private key (using HMAC-SHA512)
- Step 2: Master key + derivation path (m/44'/0'/0'/0/0) β Child private key
- Step 3: Child private key β Public key (using elliptic curve cryptography)
- Step 4: Public key β Bitcoin address (using hashing + encoding)
The key insight: Given the same seed and the same derivation path, you'll ALWAYS get the same address. The wallet doesn't need to store addresses - it can regenerate them on demand using: seed + path β address
Recovery: This is why you can recover your entire wallet with just the seed phrase. The wallet software tries standard derivation paths (m/44'/0'/0'/0/0, m/44'/0'/0'/0/1, etc.) and regenerates all your addresses.
π Visual: Seed to Multiple Addresses
Master Seed
Same seed + different path index = different address (but always reproducible!)
πΊοΈ Understanding the Derivation Path: m/44'/0'/0'/0/[index]
This isn't a "seed path" - it's a derivation path that tells the wallet how to derive child keys from the master seed. Each part has a specific meaning:
(root)
(BIP44 standard)
(0 = Bitcoin)
(1st account)
(0=external/receive)
(increments)
- The apostrophe ('): Means "hardened" derivation - more secure, can't derive public keys without private key
- Coin type examples: 0' = Bitcoin, 60' = Ethereum, 2' = Litecoin
- Account: Lets you have separate "accounts" within one wallet (like bank sub-accounts)
- Chain: 0 = external (receiving addresses), 1 = internal (change addresses)
- Index: The part that changes to generate different addresses (0, 1, 2, 3...)
So when you generate multiple addresses, only the last number (index) changes. The path m/44'/0'/0'/0/0 gives you address #1, m/44'/0'/0'/0/1 gives you address #2, and so on. Same seed + different index = different address!
π° How Your Wallet Shows Your Total Balance
Yes! Your wallet scans the blockchain and aggregates everything. Here's how it works:
The Scanning Process:
- Derive addresses: Starting from index 0, the wallet generates addresses (m/44'/0'/0'/0/0, m/44'/0'/0'/0/1, etc.)
- Check each address: Query the blockchain to see if each address has any transaction history
- Keep scanning: Continue until it finds 20 consecutive unused addresses (the "gap limit")
- Aggregate balances: Add up all the UTXOs (Unspent Transaction Outputs) from all addresses
- Display total: Show you one combined balance in the wallet interface
Example Scenario:
Address 1: 0.3 BTC
Address 2: 0.0 BTC (empty)
Address 3: 0.2 BTC
Address 4-23: 0.0 BTC (20 consecutive empty = stop scanning)
Total Balance: 1.0 BTC
- Your wallet is essentially a scanner + calculator: It doesn't actually "hold" your coins. It derives addresses from your seed, scans the blockchain for their transactions, and adds up the balance.
- The blockchain is the source of truth: Your coins aren't "in" your wallet - they're on the blockchain at various addresses. Your wallet just has the keys to control them.
- Recovery process: When you restore a wallet from seed, it does this entire scanning process to rediscover all your addresses and balances.
- Gap limit: The standard is 20 unused addresses. If you somehow used address #0, then skipped to #50, a restored wallet might miss #50 because it stopped scanning at #20.
π Fun fact: This is why wallet restoration can take a few minutes - your wallet software is deriving hundreds of addresses and checking each one against the blockchain to find your transactions!