# Supported BIPs
- What is supported
- BIP 21: URI Scheme
- BIP 32: Hierarchical Deterministic Wallets
- BIP 38: Password-Protected Private Key
- BIP 39: Mnemonic Code for Generating Deterministic Keys
- BIP 44: Multi-Account Hierarchy for Deterministic Wallets
- BIP 72: bitcoin: uri extensions for Payment Protocol
- BIP 84: Derivation scheme for P2WPKH Based Accounts
- BIP 125: Opt-In full Replace-by-Fee Signaling
- BIP 141: Segregated Witness (Consensus Layer)
- BIP 143: Transaction Signature Verification for Version 0 Witness Program
- BIP 144: Segregated Witness (Peer Services)
- BIP 158: Compact Block Filters for Light Clients
- BIP 173: Base32 address format for native v0-16 witness outputs
- BIP 174: Partially Signed Bitcoin Transaction Format
- Hardware Wallet Interface
- What is not supported
Wasabi Wallet strives toward establishing solid industry best practices and standards. Here is a list of all the supported and integrated Bitcoin Improvement Proposals:
# What is supported
BIP 21: URI Scheme
BIP 32: Hierarchical Deterministic Wallets
BIP 38: Password-Protected Private Key
BIP 39: Mnemonic Code for Generating Deterministic Keys
BIP 44: Multi-Account Hierarchy for Deterministic Wallets
BIP 72: bitcoin: uri extensions for Payment Protocol
BIP 84: Derivation scheme for P2WPKH Based Accounts
BIP 84 defines a standard derivation scheme for hierarchical deterministic wallets BIP 32, specifically for segregated witness P2WPKH BIP 173.
This allows to generate one root master seed that can derive a tree of public keys with different paths BIP 44.
m / purpose' / coin_type' / account' / change / address_index.
Wasabi specifically uses this standard
On the TestNet and on the RegTest Wasabi deviates from the standard and uses
m/84'/0'/0' instead of
BIP 125: Opt-In full Replace-by-Fee Signaling
BIP 125: Opt-In full Replace-by-Fee Signaling is activated for a subset of transactions chosen randomly, so to decrease wallet fingerprinting.
BIP 141: Segregated Witness (Consensus Layer)
BIP 143: Transaction Signature Verification for Version 0 Witness Program
BIP 144: Segregated Witness (Peer Services)
BIP 158: Compact Block Filters for Light Clients
BIP 158 Block filters are the reverse of BIP 37 Bloom filters - the client will connect to a Bitcoin node and say "Hey, for every block, I would like a condensed list of addresses that were affected." What would happen next is that a Bitcoin node would give the same filter that it gives to every client, because the client has thus far revealed nothing! Once a block filter has come in and the client believes that there is a transaction that affects the client, the client pings a single random node for a single full block. It then parses the block, and finds the transaction. This has been proven to be by far the best way to do light clients privately, and is the way Wasabi works today.
BIP 173: Base32 address format for native v0-16 witness outputs
BIP 174: Partially Signed Bitcoin Transaction Format
Hardware Wallet Interface
# What is not supported
BIP 37: Connection Bloom Filtering
BIP 37 Bloom filters are filters that a client will send to a Bitcoin full node which says "Hey, if you see any transactions that get caught in these filters, they may or may not be mine!". What would happen next is that a Bitcoin node would start sending tons and tons of transactions to the client, and the client would proceed to distinguish the 99% irrelevant transactions against the 1% relevant ones. This was quite brilliant of an idea at the time, but has since been proven to not protect user privacy, at the expense of wasting a ton of bandwidth and subjecting users to other risks.