BIP84 is a Bitcoin Improvement Proposal that defines the hierarchical deterministic (HD) wallet derivation scheme for generating native Segregated Witness addresses using the P2WPKH (Pay-to-Witness-Public-Key-Hash) script type.
Authored by Pavol Rusnak, BIP-84 standardizes how compatible wallets derive Bitcoin addresses from a recovery seed. Its mainnet addresses use the Bech32 encoding format and typically begin with bc1q.
BIP-84 builds on Bitcoin’s SegWit upgrade, which reduced the transaction-weight cost of witness data. By using native SegWit rather than older legacy or wrapped SegWit formats, P2WPKH transactions can require less block space in common single-signature spending scenarios.
The proposal is particularly useful for wallet interoperability. Compatible wallets can follow the same derivation rules to discover the same account and addresses from the same seed and derivation path.
BIP84 at a Glance
| Property | Detail |
|---|---|
| BIP number | 84 |
| Author | Pavol Rusnak |
| Status | Deployed |
| Address format | Native SegWit / Bech32 |
| Mainnet address prefix | bc1q |
| Script type | P2WPKH |
| Account-level derivation path | m/84'/0'/0' |
| Full derivation path | m/84'/coin_type'/account'/change/address_index |
| Bitcoin mainnet coin type | 0' |
| Key purpose | Standardizes address derivation for native SegWit accounts |
Address Types and Fee Comparison
BIP-84 is one of several Bitcoin wallet derivation standards. BIP-44 is commonly associated with legacy P2PKH addresses, BIP-49 with wrapped SegWit addresses, and BIP-86 with single-key Taproot outputs.
The following table compares illustrative transaction sizes for a typical single-input, two-output transaction. Actual sizes depend on transaction structure and signature details.
| Address Type | Associated BIP | Mainnet Prefix | Approximate Transaction Size | Relative Size Compared With Legacy |
|---|---|---|---|---|
| Legacy P2PKH | BIP-44 | 1... | 226 vB | 100% |
| Wrapped SegWit P2SH-P2WPKH | BIP-49 | 3... | 167 vB | 74% |
| Native SegWit P2WPKH | BIP-84 | bc1q... | 141 vB | 62% |
| Taproot P2TR, key-path spend | BIP-86 | bc1p... | 154 vB | 68% |
These estimates assume a comparable transaction with one input and two outputs of the relevant type. Transaction fees are calculated using virtual size and the fee rate in satoshis per virtual byte (sat/vB). A smaller transaction generally costs less at the same fee rate, but the cheapest format can vary with the transaction’s structure.
Also Read: Bretton Woods System
Origin and History
2017: SegWit Activation
Bitcoin activated Segregated Witness (SegWit) in August 2017. The upgrade changed how witness data is accounted for in transaction weight and introduced new transaction structures, including native P2WPKH outputs.
BIP-173 specified the Bech32 address encoding format for native SegWit witness outputs.
December 2017: BIP-84 Published
Pavol Rusnak authored BIP-84 to standardize the derivation scheme for HD wallets using native SegWit P2WPKH addresses. The proposal introduced the purpose value 84' in the derivation path.
This gave compatible wallets a consistent way to create and recover native SegWit accounts from the same seed.
2018 Onward: Wider Wallet Support
As Bitcoin wallets, hardware signers, exchanges, and other services added native SegWit support, users gained more opportunities to receive and spend BTC through bc1q addresses.
Support and default settings vary by wallet and service. BIP-84 provides a standard, but it does not require every wallet or exchange to use that standard by default.
2021: Taproot and BIP-86
Bitcoin activated Taproot in November 2021. BIP-86 subsequently provided a standard derivation scheme for single-key Pay-to-Taproot (P2TR) outputs.
Taproot introduced different spending and scripting capabilities from P2WPKH. Its availability means BIP-84 is not the newest Bitcoin address derivation standard, although it remains useful for native SegWit wallets.
How BIP-84 Works
BIP-84 specifies how an HD wallet derives keys and addresses from a master seed. It uses the same general hierarchical structure as BIP-44 and BIP-49, but assigns 84' as the purpose value to identify native SegWit P2WPKH accounts.
The derivation path is:
m/84'/coin_type'/account'/change/address_index
Each component has a specific role:
| Path Component | Meaning |
|---|---|
m | The master key at the root of the HD wallet |
84' | Identifies the BIP-84 derivation scheme |
coin_type' | Identifies the cryptocurrency; Bitcoin mainnet uses 0' |
account' | Selects the account within the wallet |
change | Identifies the external receiving chain (0) or internal change chain (1) |
address_index | Identifies an individual address within the chain |
For example, the first receiving address in a Bitcoin mainnet BIP-84 account uses:
m/84'/0'/0'/0/0
The corresponding first change address uses:
m/84'/0'/0'/1/0
After deriving the relevant public key, the wallet constructs a P2WPKH output and encodes its address using Bech32.
Why the Address Starts With bc1q
Bitcoin mainnet native SegWit version 0 addresses use the human-readable prefix bc followed by the Bech32 separator 1. The address data identifies the witness version and program.
P2WPKH uses a version 0 witness program containing a 20-byte public-key hash, producing the familiar bc1q address format.
The Bech32 checksum also helps detect many typing and transcription errors. It cannot guarantee that a user has copied the intended recipient’s address, so addresses should still be verified before sending funds.
Also Read: Ethereum Improvement Proposal (EIP)
BIP-84 in Simple Terms
1. A Standard for Generating Bitcoin Addresses
Think of BIP-84 as a set of instructions that compatible wallets follow to generate native SegWit Bitcoin addresses from a recovery seed.
Instead of each wallet inventing its own derivation rules, compatible wallets use the same structure to identify the same account and addresses.
2. Lower Transaction Costs in Common Cases
Native SegWit transactions use Bitcoin block space more efficiently than comparable legacy transactions. This can reduce transaction fees when the same fee rate is applied.
For a typical one-input, two-output transaction, a native SegWit transaction may be around 38% smaller than its legacy equivalent. The exact saving depends on the number and types of inputs and outputs.
3. Recovering a Wallet
A compatible wallet can regenerate BIP-84 addresses from the same recovery seed when the correct derivation path and account are selected.
However, possessing the seed phrase alone does not guarantee that every wallet will automatically display the funds. The wallet must support the relevant derivation standard and locate the correct account.
4. Native SegWit Versus Taproot
BIP-84 generates bc1q native SegWit addresses. BIP-86 generates bc1p single-key Taproot addresses.
Taproot supports additional spending conditions and script capabilities, but it is not automatically cheaper for every simple transaction. The most suitable address type depends on wallet compatibility, spending requirements, and transaction structure.
Important: Always back up your recovery seed securely. Never share it with a wallet support agent, website, or another person. Anyone who obtains the seed may be able to access the associated funds.
Real-World Examples
Example 1: Creating a Native SegWit Wallet
Scenario: A user wants to create a Bitcoin wallet with native SegWit addresses.
Implementation: The user creates a BIP-84 account in a compatible wallet. The wallet uses the derivation path m/84'/0'/0' for the first Bitcoin mainnet account and derives receiving addresses beneath that account.
Outcome: The wallet generates bc1q receiving addresses and can use native SegWit transaction structures when spending funds.
Example 2: Comparing Transaction Fees
Scenario: A user is comparing the expected cost of sending BTC from legacy and native SegWit addresses.
Implementation: The wallet estimates the transaction size in virtual bytes and multiplies it by the applicable fee rate.
Outcome: A comparable native SegWit transaction will generally require less block space than a legacy transaction. The actual fee saving depends on the transaction’s inputs, outputs, and network conditions.
Example 3: Recovering an Account in Another Wallet
Scenario: A user needs to restore a Bitcoin wallet in a different application after losing access to the original device.
Implementation: The user restores the recovery seed in a compatible wallet and selects the BIP-84 account or correct derivation path.
Outcome: The wallet can regenerate the account’s addresses and identify associated funds, provided the necessary seed, derivation path, and account information are correct. A wallet using a different derivation standard may not automatically display the same account.
Also Read: 1inch DEX Aggregator: How It Works, Features, Benefits, and Risks
Advantages of BIP-84
| Advantage | Description |
|---|---|
| Reduced transaction size | Native SegWit can lower fees compared with legacy formats for comparable transactions. |
| Standardized derivation | Compatible wallets can follow the same derivation rules to identify accounts and addresses. |
| Error detection | Bech32 includes a checksum designed to detect many address transcription errors. |
| SegWit support | P2WPKH uses native SegWit transaction structures and benefits from witness-data weight rules. |
| Wallet recovery | A compatible wallet can regenerate addresses from the same seed and derivation path. |
| Broad ecosystem support | Native SegWit is supported by many modern Bitcoin wallets and services, although compatibility should be checked where necessary. |
Disadvantages and Risks
| Disadvantage or Risk | Description |
|---|---|
| Legacy compatibility | Some older services or wallet implementations may not support native SegWit addresses. |
| Recovery-path mismatch | A wallet may fail to display funds if it searches the wrong derivation path or account. |
| Address-format confusion | Users may confuse bc1q native SegWit addresses with bc1p Taproot addresses or older 1... and 3... formats. |
| Not always the smallest transaction | Taproot inputs can be smaller to spend than P2WPKH inputs, and the relative transaction size depends on the number of inputs and outputs. |
| Seed phrase exposure | Anyone with access to the recovery seed may be able to derive the associated private keys and spend the funds. |
| Compatibility is not universal | A standardized derivation path does not force every wallet, exchange, or service to support it. |
Risk Management Tips
1. Verify Address Compatibility
Before sending Bitcoin, confirm that the receiving wallet or exchange supports bc1q native SegWit addresses. Most modern Bitcoin services support them, but older or specialized systems may have limitations.
2. Keep a Secure Recovery Backup
Store the wallet’s recovery seed offline in a secure location. Never enter it into an unfamiliar website or share it with someone claiming to provide support.
3. Check the Derivation Path During Recovery
If funds do not appear after restoring a wallet, verify that the application supports BIP-84 and that the correct account and derivation path are selected. Do not assume that a missing balance means the funds have been lost.
4. Confirm the Address Before Sending
Check the receiving address carefully and verify it through a trusted channel. A valid checksum does not prove that an address belongs to the intended recipient.
5. Compare Fees Using the Actual Transaction
Do not assume that every bc1q transaction will be cheaper than every bc1p transaction. Compare the estimated virtual size and fee rate for the transaction you intend to make.
Frequently Asked Questions About BIP-84
Q: Is BIP-84 the best address format for Bitcoin?
BIP-84 is a widely supported choice for native SegWit P2WPKH transactions. It often provides good fee efficiency for standard single-signature payments and has broad wallet compatibility.
Taproot, standardized for single-key wallet derivation by BIP-86, supports additional spending capabilities and may be more efficient for some transaction structures. Neither format is universally best for every use case.
Q: Can BIP-84 addresses receive Bitcoin from legacy wallets?
Yes, provided the sending wallet supports sending to native SegWit addresses. A sender’s wallet does not generally need to use BIP-84 itself to send BTC to a bc1q address.
If a service does not support native SegWit addresses, check whether it supports another compatible Bitcoin address type before proceeding.
Q: How do I know whether my wallet uses BIP-84?
A Bitcoin mainnet receiving address beginning with bc1q is commonly a native SegWit P2WPKH address. An address beginning with 3 is commonly a P2SH address, which may be wrapped SegWit, while an address beginning with 1 is commonly legacy P2PKH.
Address prefixes are useful clues, but checking the wallet’s account type or derivation path is a more reliable way to confirm the standard being used.
Q: Can I switch from BIP-44 or BIP-49 to BIP-84?
Many wallets allow users to create a separate BIP-84 account. If the wallet supports it, the user can transfer funds from an existing account to a new native SegWit address.
Some wallets may also recover multiple account types from the same seed by using different derivation paths. Whether a transfer is necessary depends on the wallet’s capabilities and the user’s setup. On-chain transfers incur network fees.
Q: Does BIP-84 make Bitcoin transactions private?
No. BIP-84 standardizes address derivation and uses native SegWit P2WPKH outputs. It does not inherently provide transaction anonymity or prevent blockchain analysis.
Bitcoin transactions remain publicly recorded, and address reuse or links between transactions can reveal information about wallet activity.
Q: Are BIP-84 addresses cheaper than Taproot addresses?
Not in every situation. For a typical single-input, two-output transaction, a P2WPKH transaction may be smaller than a comparable Taproot key-path transaction because Taproot outputs are larger.
Taproot inputs are generally smaller to spend, so the relative cost can change when a transaction contains multiple inputs. The transaction’s structure determines the final size and fee.
Related Terms
| Term | Relationship |
|---|---|
| BIP-49 | Defines the HD wallet derivation scheme for wrapped SegWit P2WPKH addresses. |
| BIP-44 | Defines a common HD wallet derivation structure associated with legacy P2PKH accounts. |
| BIP-86 | Defines a derivation scheme for single-key Taproot outputs. |
| Bech32 | The address encoding format used for native SegWit version 0 addresses such as BIP-84 P2WPKH addresses. |
| SegWit | The Bitcoin protocol upgrade that introduced witness data and the transaction-weight rules used by native SegWit. |
| HD Wallet | A wallet that derives multiple key pairs and addresses from a master seed. |
| Derivation Path | The structured sequence used to derive a particular key or address from an HD wallet. |
| P2WPKH | The native SegWit script type standardized for BIP-84 accounts. |
Conclusion
BIP-84 standardizes how compatible hierarchical deterministic wallets derive native SegWit P2WPKH addresses from a recovery seed. Its bc1q address format supports efficient transaction structures, standardized account recovery, and broad compatibility across modern Bitcoin infrastructure.
Although BIP-84 remains a useful choice for standard Bitcoin payments, it is not the only available address format. Taproot provides additional spending capabilities, and the most efficient option depends on the transaction’s structure and the wallet’s requirements.
Users should confirm address compatibility, back up their recovery seed securely, and verify transaction details before sending BTC.
This article is for educational purposes only and is not financial advice.
Sources
- Bitcoin Improvement Proposal 84: Derivation Scheme for P2WPKH-Based Accounts
- Bitcoin Improvement Proposal 173: Base32 Address Format for Native Witness Outputs
- Bitcoin Improvement Proposal 141: Segregated Witness
- Bitcoin Improvement Proposal 49: Derivation Scheme for P2WPKH-Nested-in-P2SH-Based Accounts
- Bitcoin Transaction Size Reference









