BIP-84: Bitcoin’s Native SegWit Address Derivation Standard

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

PropertyDetail
BIP number84
AuthorPavol Rusnak
StatusDeployed
Address formatNative SegWit / Bech32
Mainnet address prefixbc1q
Script typeP2WPKH
Account-level derivation pathm/84'/0'/0'
Full derivation pathm/84'/coin_type'/account'/change/address_index
Bitcoin mainnet coin type0'
Key purposeStandardizes 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 TypeAssociated BIPMainnet PrefixApproximate Transaction SizeRelative Size Compared With Legacy
Legacy P2PKHBIP-441...226 vB100%
Wrapped SegWit P2SH-P2WPKHBIP-493...167 vB74%
Native SegWit P2WPKHBIP-84bc1q...141 vB62%
Taproot P2TR, key-path spendBIP-86bc1p...154 vB68%

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.

Get UPay Crypto Card

Experience the Best of Online Payment and Seamless Crypto Transactions.

Sign Up

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 ComponentMeaning
mThe 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
changeIdentifies the external receiving chain (0) or internal change chain (1)
address_indexIdentifies 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

AdvantageDescription
Reduced transaction sizeNative SegWit can lower fees compared with legacy formats for comparable transactions.
Standardized derivationCompatible wallets can follow the same derivation rules to identify accounts and addresses.
Error detectionBech32 includes a checksum designed to detect many address transcription errors.
SegWit supportP2WPKH uses native SegWit transaction structures and benefits from witness-data weight rules.
Wallet recoveryA compatible wallet can regenerate addresses from the same seed and derivation path.
Broad ecosystem supportNative SegWit is supported by many modern Bitcoin wallets and services, although compatibility should be checked where necessary.

Disadvantages and Risks

Disadvantage or RiskDescription
Legacy compatibilitySome older services or wallet implementations may not support native SegWit addresses.
Recovery-path mismatchA wallet may fail to display funds if it searches the wrong derivation path or account.
Address-format confusionUsers may confuse bc1q native SegWit addresses with bc1p Taproot addresses or older 1... and 3... formats.
Not always the smallest transactionTaproot inputs can be smaller to spend than P2WPKH inputs, and the relative transaction size depends on the number of inputs and outputs.
Seed phrase exposureAnyone with access to the recovery seed may be able to derive the associated private keys and spend the funds.
Compatibility is not universalA 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

TermRelationship
BIP-49Defines the HD wallet derivation scheme for wrapped SegWit P2WPKH addresses.
BIP-44Defines a common HD wallet derivation structure associated with legacy P2PKH accounts.
BIP-86Defines a derivation scheme for single-key Taproot outputs.
Bech32The address encoding format used for native SegWit version 0 addresses such as BIP-84 P2WPKH addresses.
SegWitThe Bitcoin protocol upgrade that introduced witness data and the transaction-weight rules used by native SegWit.
HD WalletA wallet that derives multiple key pairs and addresses from a master seed.
Derivation PathThe structured sequence used to derive a particular key or address from an HD wallet.
P2WPKHThe 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

News & Events