Bitcoin Improvement Proposals
People wishing to submit BIPs, first should propose their idea or document to the bitcoin-dev@lists.linuxfoundation.org mailing list (do not assign a number - read BIP 2 for the full process). After discussion, please open a PR. After copy-editing and acceptance, it will be published here.
We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred.
Having a BIP here does not make it a formally accepted standard until its status becomes Final or Active.
Those proposing changes should consider that ultimately consent may rest with the consensus of the Bitcoin users (see also: economic majority).
| # | Title | Layer | Status | Type | Owner |
|---|---|---|---|---|---|
| 1 | BIP Purpose and Guidelines | Closed | Process | ||
| 2 | BIP process, revised | Closed | Process | ||
| 3 | Updated BIP Process | Deployed | Process | ||
| 8 | Version bits with lock-in by height | Draft | Informational | ||
| 9 | Version bits with timeout and delay | Deployed | Informational | ||
| 10 | Multi-Sig Transaction Distribution | Applications | Closed | Informational | |
| 11 | M-of-N Standard Transactions | Applications | Deployed | Specification | |
| 12 | OP_EVAL | Consensus (soft fork) | Closed | Specification | |
| 13 | Address Format for pay-to-script-hash | Applications | Deployed | Specification | |
| 14 | Protocol Version and User Agent | Peer Services | Deployed | Specification | |
| 15 | Aliases | Applications | Closed | Specification | |
| 16 | Pay to Script Hash | Consensus (soft fork) | Deployed | Specification | |
| 17 | OP_CHECKHASHVERIFY (CHV) | Consensus (soft fork) | Closed | Specification | |
| 18 | hashScriptCheck | Consensus (soft fork) | Complete | Specification | |
| 19 | M-of-N Standard Transactions (Low SigOp) | Applications | Closed | Specification | |
| 20 | URI Scheme | Applications | Closed | Specification | |
| 21 | URI Scheme | Applications | Closed | Specification | |
| 22 | getblocktemplate - Fundamentals | API/RPC | Deployed | Specification | |
| 23 | getblocktemplate - Pooled Mining | API/RPC | Deployed | Specification | |
| 30 | Duplicate transactions | Consensus (soft fork) | Deployed | Specification | |
| 31 | Pong message | Peer Services | Deployed | Specification | |
| 32 | Hierarchical Deterministic Wallets | Applications | Deployed | Informational | |
| 33 | Stratized Nodes | Peer Services | Closed | Specification | |
| 34 | Block v2, Height in Coinbase | Consensus (soft fork) | Deployed | Specification | |
| 35 | mempool message | Peer Services | Deployed | Specification | |
| 36 | Custom Services | Peer Services | Closed | Specification | |
| 37 | Connection Bloom filtering | Peer Services | Deployed | Specification | |
| 38 | Passphrase-protected private key | Applications | Draft (Some confusion applies | Specification | |
| 39 | Mnemonic code for generating deterministic keys | Applications | Deployed | Specification | |
| 42 | A finite monetary supply for Bitcoin | Consensus (soft fork) | Deployed | Specification | |
| 43 | Purpose Field for Deterministic Wallets | Applications | Deployed | Specification | |
| 44 | Multi-Account Hierarchy for Deterministic Wallets | Applications | Deployed | Specification | |
| 45 | Structure for Deterministic P2SH Multisignature Wallets | Applications | Complete | Specification | |
| 46 | Address Scheme for Timelocked Fidelity Bonds | Applications | Draft | Specification | |
| 47 | Reusable Payment Codes for Hierarchical Deterministic Wallets | Applications | Deployed | Informational | |
| 48 | Multi-Script Hierarchy for Multi-Sig Wallets | Applications | Deployed | Specification | |
| 49 | Derivation scheme for P2WPKH-nested-in-P2SH based accounts | Applications | Deployed | Specification | |
| 50 | March 2013 Chain Fork Post-Mortem | Deployed | Informational | ||
| 52 | Durable, Low Energy Bitcoin PoW | Consensus (hard fork) | Draft | Specification | |
| 53 | Disallow 64-byte transactions | Consensus (soft fork) | Draft | Specification | |
| 54 | Consensus Cleanup | Consensus (soft fork) | Draft | Specification | |
| 60 | Fixed Length "version" Message (Relay-Transactions Field) | Peer Services | Closed | Specification | |
| 61 | Reject P2P message | Peer Services | Deployed | Specification | |
| 62 | Dealing with malleability | Consensus (soft fork) | Closed | Specification | |
| 64 | getutxo message | Peer Services | Closed | Specification | |
| 65 | OP_CHECKLOCKTIMEVERIFY | Consensus (soft fork) | Deployed | Specification | |
| 66 | Strict DER signatures | Consensus (soft fork) | Deployed | Specification | |
| 67 | Deterministic Pay-to-script-hash multi-signature addresses through public key sorting | Applications | Complete | Specification | |
| 68 | Relative lock-time using consensus-enforced sequence numbers | Consensus (soft fork) | Deployed | Specification | |
| 69 | Lexicographical Indexing of Transaction Inputs and Outputs | Applications | Complete | Informational | |
| 70 | Payment Protocol | Applications | Deployed | Specification | |
| 71 | Payment Protocol MIME types | Applications | Deployed | Specification | |
| 72 | bitcoin | Applications | Deployed | Specification | |
| 73 | Use "Accept" header for response type negotiation with Payment Request URLs | Applications | Deployed | Specification | |
| 74 | Allow zero value OP_RETURN in Payment Protocol | Applications | Closed | Specification | |
| 75 | Out of Band Address Exchange using Payment Protocol Encryption | Applications | Deployed | Specification | |
| 77 | Async Payjoin | Applications | Draft | Specification | |
| 78 | A Simple Payjoin Proposal | Applications | Draft | Specification | |
| 79 | Bustapay : | Applications | Closed | Informational | |
| 80 | Hierarchy for Non-Colored Voting Pool Deterministic Multisig Wallets | Closed | Informational | ||
| 81 | Hierarchy for Colored Voting Pool Deterministic Multisig Wallets | Closed | Informational | ||
| 83 | Dynamic Hierarchical Deterministic Key Trees | Applications | Closed | Specification | |
| 84 | Derivation scheme for P2WPKH based accounts | Applications | Deployed | Specification | |
| 85 | Deterministic Entropy From BIP32 Keychains | Applications | Deployed | Informational | |
| 86 | Key Derivation for Single Key P2TR Outputs | Applications | Deployed | Specification | |
| 87 | Hierarchy for Deterministic Multisig Wallets | Applications | Complete | Specification | |
| 88 | Hierarchical Deterministic Path Templates | Applications | Complete | Informational | |
| 90 | Buried Deployments | Deployed | Informational | ||
| 91 | Reduced threshold Segwit MASF | Consensus (soft fork) | Deployed | Specification | |
| 93 | codex32 | Applications | Draft | Informational | |
| 94 | Testnet 4 | Applications | Deployed | Specification | |
| 98 | Fast Merkle Trees | Consensus (soft fork) | Draft | Specification | |
| 99 | Motivation and deployment of consensus rule changes ([soft/hard]forks) | Closed | Informational | ||
| 100 | Dynamic maximum block size by miner vote | Consensus (hard fork) | Closed | Specification | |
| 101 | Increase maximum block size | Consensus (hard fork) | Closed | Specification | |
| 102 | Block size increase to 2MB | Consensus (hard fork) | Closed | Specification | |
| 103 | Block size following technological growth | Consensus (hard fork) | Closed | Specification | |
| 104 | 'Block75' - Max block size like difficulty | Consensus (hard fork) | Closed | Specification | |
| 105 | Consensus based block size retargeting algorithm | Consensus (hard fork) | Closed | Specification | |
| 106 | Dynamically Controlled Bitcoin Block Size Max Cap | Consensus (hard fork) | Closed | Specification | |
| 107 | Dynamic limit on the block size | Consensus (hard fork) | Closed | Specification | |
| 109 | Two million byte size limit with sigop and sighash limits | Consensus (hard fork) | Closed | Specification | |
| 111 | NODE_BLOOM service bit | Peer Services | Deployed | Specification | |
| 112 | CHECKSEQUENCEVERIFY | Consensus (soft fork) | Deployed | Specification | |
| 113 | Median time-past as endpoint for lock-time calculations | Consensus (soft fork) | Deployed | Specification | |
| 114 | Merkelized Abstract Syntax Tree | Consensus (soft fork) | Closed | Specification | |
| 115 | Generic anti-replay protection using Script | Consensus (soft fork) | Closed | Specification | |
| 116 | MERKLEBRANCHVERIFY | Consensus (soft fork) | Draft | Specification | |
| 117 | Tail Call Execution Semantics | Consensus (soft fork) | Draft | Specification | |
| 118 | SIGHASH_ANYPREVOUT for Taproot Scripts | Consensus (soft fork) | Draft | Specification | |
| 119 | CHECKTEMPLATEVERIFY | Consensus (soft fork) | Draft | Specification | |
| 120 | Proof of Payment | Applications | Closed | Specification | |
| 121 | Proof of Payment URI scheme | Applications | Closed | Specification | |
| 122 | URI scheme for Blockchain references / exploration | Applications | Draft | Specification | |
| 123 | BIP Classification | Deployed | Process | ||
| 124 | Hierarchical Deterministic Script Templates | Applications | Closed | Informational | |
| 125 | Opt-in Full Replace-by-Fee Signaling | Applications | Deployed | Specification | |
| 126 | Best Practices for Heterogeneous Input Script Transactions | Draft | Informational | ||
| 127 | Simple Proof-of-Reserves Transactions | Applications | Draft | Specification | |
| 129 | Bitcoin Secure Multisig Setup (BSMS) | Applications | Complete | Specification | |
| 130 | sendheaders message | Peer Services | Deployed | Specification | |
| 131 | "Coalescing Transaction" Specification (wildcard inputs) | Consensus (hard fork) | Closed | Specification | |
| 132 | Committee-based BIP Acceptance Process | Closed | Process | ||
| 133 | feefilter message | Peer Services | Deployed | Specification | |
| 134 | Flexible Transactions | Consensus (hard fork) | Closed | Specification | |
| 135 | Generalized version bits voting | Closed | Informational | ||
| 136 | Bech32 Encoded Tx Position References | Applications | Draft | Informational | |
| 137 | Signatures of Messages using Private Keys | Applications | Deployed | Specification | |
| 140 | Normalized TXID | Consensus (soft fork) | Closed | Specification | |
| 141 | Segregated Witness (Consensus layer) | Consensus (soft fork) | Deployed | Specification | |
| 142 | Address Format for Segregated Witness | Applications | Closed | Specification | |
| 143 | Transaction Signature Verification for Version 0 Witness Program | Consensus (soft fork) | Deployed | Specification | |
| 144 | Segregated Witness (Peer Services) | Peer Services | Deployed | Specification | |
| 145 | getblocktemplate Updates for Segregated Witness | API/RPC | Deployed | Specification | |
| 146 | Dealing with signature encoding malleability | Consensus (soft fork) | Closed | Specification | |
| 147 | Dealing with dummy stack element malleability | Consensus (soft fork) | Deployed | Specification | |
| 148 | Mandatory activation of segwit deployment | Consensus (soft fork) | Deployed | Specification | |
| 149 | Segregated Witness (second deployment) | Consensus (soft fork) | Closed | Specification | |
| 150 | Peer Authentication | Peer Services | Closed | Specification | |
| 151 | Peer-to-Peer Communication Encryption | Peer Services | Closed | Specification | |
| 152 | Compact Block Relay | Peer Services | Deployed | Specification | |
| 154 | Rate Limiting via peer specified challenges | Peer Services | Closed | Specification | |
| 155 | addrv2 message | Peer Services | Deployed | Specification | |
| 156 | Dandelion - Privacy Enhancing Routing | Peer Services | Closed | Specification | |
| 157 | Client Side Block Filtering | Peer Services | Deployed | Specification | |
| 158 | Compact Block Filters for Light Clients | Peer Services | Deployed | Specification | |
| 159 | NODE_NETWORK_LIMITED service bit | Peer Services | Deployed | Specification | |
| 171 | Currency/exchange rate information API | Applications | Closed | Specification | |
| 172 | Define Bitcoin Subunits as Satoshis | Applications | Draft | Informational | |
| 173 | Base32 address format for native v0-16 witness outputs | Applications | Deployed | Informational | |
| 174 | Partially Signed Bitcoin Transaction Format | Applications | Deployed | Specification | |
| 175 | Pay to Contract Protocol | Applications | Closed | Informational | |
| 176 | Bits Denomination | Draft | Informational | ||
| 177 | Redefine Bitcoin's Base Unit | Draft | Informational | ||
| 178 | Version Extended WIF | Applications | Draft | Specification | |
| 179 | Name for payment recipient identifiers | Draft | Informational | ||
| 180 | Block size/weight fraud proof | Peer Services | Closed | Specification | |
| 197 | Hashed Time-Locked Collateral Contract | Applications | Draft | Specification | |
| 199 | Hashed Time-Locked Contract transactions | Applications | Closed | Specification | |
| 300 | Hashrate Escrows (Consensus layer) | Consensus (soft fork) | Draft | Specification | |
| 301 | Blind Merged Mining (Consensus layer) | Consensus (soft fork) | Draft | Specification | |
| 310 | Stratum protocol extensions | Applications | Draft | Informational | |
| 320 | nVersion bits for general purpose use | Draft | Specification | ||
| 321 | URI Scheme | Applications | Complete | Specification | |
| 322 | Generic Signed Message Format | Applications | Draft | Specification | |
| 324 | Version 2 P2P Encrypted Transport Protocol | Peer Services | Deployed | Specification | |
| 325 | Signet | Applications | Complete | Specification | |
| 326 | Anti-fee-sniping in taproot transactions | Applications | Draft | Informational | |
| 327 | MuSig2 for BIP340-compatible Multi-Signatures | Deployed | Informational | ||
| 328 | Derivation Scheme for MuSig2 Aggregate Keys | Applications | Complete | Informational | |
| 329 | Wallet Labels Export Format | Applications | Draft | Informational | |
| 330 | Transaction announcements reconciliation | Peer Services | Draft | Specification | |
| 331 | Ancestor Package Relay | Peer Services | Draft | Specification | |
| 337 | Compressed Transactions | API/RPC | Draft | Specification | |
| 338 | Disable transaction relay message | Peer Services | Closed | Specification | |
| 339 | WTXID-based transaction relay | Peer Services | Deployed | Specification | |
| 340 | Schnorr Signatures for secp256k1 | Deployed | Specification | ||
| 341 | Taproot | Consensus (soft fork) | Deployed | Specification | |
| 342 | Validation of Taproot Scripts | Consensus (soft fork) | Deployed | Specification | |
| 343 | Mandatory activation of taproot deployment | Consensus (soft fork) | Deployed | Specification | |
| 345 | OP_VAULT | Consensus (soft fork) | Closed | Specification | |
| 347 | OP_CAT in Tapscript | Consensus (soft fork) | Draft | Specification | |
| 348 | CHECKSIGFROMSTACK | Consensus (soft fork) | Draft | Specification | |
| 349 | OP_INTERNALKEY | Consensus (soft fork) | Draft | Specification | |
| 350 | Bech32m format for v1+ witness addresses | Applications | Deployed | Specification | |
| 351 | Private Payments | Applications | Draft | Informational | |
| 352 | Silent Payments | Applications | Complete | Specification | |
| 353 | DNS Payment Instructions | Applications | Complete | Specification | |
| 370 | PSBT Version 2 | Applications | Deployed | Specification | |
| 371 | Taproot Fields for PSBT | Applications | Deployed | Specification | |
| 372 | Pay-to-contract tweak fields for PSBT | Applications | Draft | Specification | |
| 373 | MuSig2 PSBT Fields | Applications | Complete | Specification | |
| 374 | Discrete Log Equality Proofs | Applications | Draft | Specification | |
| 375 | Sending Silent Payments with PSBTs | Applications | Draft | Specification | |
| 379 | Miniscript | Applications | Draft | Informational | |
| 380 | Output Script Descriptors General Operation | Applications | Deployed | Informational | |
| 381 | Non-Segwit Output Script Descriptors | Applications | Deployed | Informational | |
| 382 | Segwit Output Script Descriptors | Applications | Deployed | Informational | |
| 383 | Multisig Output Script Descriptors | Applications | Deployed | Informational | |
| 384 | combo() Output Script Descriptors | Applications | Deployed | Informational | |
| 385 | raw() and addr() Output Script Descriptors | Applications | Deployed | Informational | |
| 386 | tr() Output Script Descriptors | Applications | Deployed | Informational | |
| 387 | Tapscript Multisig Output Script Descriptors | Applications | Deployed | Informational | |
| 388 | Wallet Policies for Descriptor Wallets | Applications | Complete | Specification | |
| 389 | Multipath Descriptor Key Expressions | Applications | Draft | Informational | |
| 390 | musig() Descriptor Key Expression | Applications | Draft | Informational | |
| 431 | Topology Restrictions for Pinning | Applications | Draft | Informational | |
| 433 | Pay to Anchor (P2A) | Applications | Draft | Informational | |
| 443 | OP_CHECKCONTRACTVERIFY | Consensus (soft fork) | Draft | Specification |