This is a mirror of the official BIPs repository.


Bitcoin Improvement Proposals

People wishing to submit BIPs, first should propose their idea or document to the bitcoin-dev@lists.linuxfoundation.org mailing list. 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).

#LayerTitleOwnerTypeStatus
1BIP Purpose and GuidelinesAmir TaakiProcessReplaced
2BIP process, revisedLuke DashjrProcessActive
8Version bits with lock-in by heightShaolin Fry, Luke DashjrInformationalDraft
9Version bits with timeout and delayPieter Wuille, Peter Todd, Greg Maxwell, Rusty RussellInformationalFinal
10ApplicationsMulti-Sig Transaction DistributionAlan ReinerInformationalWithdrawn
11ApplicationsM-of-N Standard TransactionsGavin AndresenStandardFinal
12Consensus (soft fork)OP_EVALGavin AndresenStandardWithdrawn
13ApplicationsAddress Format for pay-to-script-hashGavin AndresenStandardFinal
14Peer ServicesProtocol Version and User AgentAmir Taaki, Patrick StratemanStandardFinal
15ApplicationsAliasesAmir TaakiStandardDeferred
16Consensus (soft fork)Pay to Script HashGavin AndresenStandardFinal
17Consensus (soft fork)OP_CHECKHASHVERIFY (CHV)Luke DashjrStandardWithdrawn
18Consensus (soft fork)hashScriptCheckLuke DashjrStandardProposed
19ApplicationsM-of-N Standard Transactions (Low SigOp)Luke DashjrStandardRejected
20ApplicationsURI SchemeLuke DashjrStandardReplaced
21ApplicationsURI SchemeNils Schneider, Matt CoralloStandardFinal
22API/RPCgetblocktemplate - FundamentalsLuke DashjrStandardFinal
23API/RPCgetblocktemplate - Pooled MiningLuke DashjrStandardFinal
30Consensus (soft fork)Duplicate transactionsPieter WuilleStandardFinal
31Peer ServicesPong messageMike HearnStandardFinal
32ApplicationsHierarchical Deterministic WalletsPieter WuilleInformationalFinal
33Peer ServicesStratized NodesAmir TaakiStandardRejected
34Consensus (soft fork)Block v2, Height in CoinbaseGavin AndresenStandardFinal
35Peer Servicesmempool messageJeff GarzikStandardFinal
36Peer ServicesCustom ServicesStefan ThomasStandardRejected
37Peer ServicesConnection Bloom filteringMike Hearn, Matt CoralloStandardFinal
38ApplicationsPassphrase-protected private keyMike Caldwell, Aaron VoisineStandardDraft
39ApplicationsMnemonic code for generating deterministic keysMarek Palatinus, Pavol Rusnak, Aaron Voisine, Sean BoweStandardProposed
40API/RPCStratum wire protocolMarek PalatinusStandardBIP number allocated
41API/RPCStratum mining protocolMarek PalatinusStandardBIP number allocated
42Consensus (soft fork)A finite monetary supply for BitcoinPieter WuilleStandardFinal
43ApplicationsPurpose Field for Deterministic WalletsMarek Palatinus, Pavol RusnakInformationalFinal
44ApplicationsMulti-Account Hierarchy for Deterministic WalletsMarek Palatinus, Pavol RusnakStandardProposed
45ApplicationsStructure for Deterministic P2SH Multisignature WalletsManuel Araoz, Ryan X. Charles, Matias Alejo GarciaStandardProposed
47ApplicationsReusable Payment Codes for Hierarchical Deterministic WalletsJustus RanvierInformationalDraft
49ApplicationsDerivation scheme for P2WPKH-nested-in-P2SH based accountsDaniel WeiglInformationalFinal
50March 2013 Chain Fork Post-MortemGavin AndresenInformationalFinal
60Peer ServicesFixed Length "version" Message (Relay-Transactions Field)Amir TaakiStandardDraft
61Peer ServicesReject P2P messageGavin AndresenStandardFinal
62Consensus (soft fork)Dealing with malleabilityPieter WuilleStandardWithdrawn
63ApplicationsStealth AddressesPeter ToddStandardBIP number allocated
64Peer Servicesgetutxo messageMike HearnStandardObsolete
65Consensus (soft fork)OP_CHECKLOCKTIMEVERIFYPeter ToddStandardFinal
66Consensus (soft fork)Strict DER signaturesPieter WuilleStandardFinal
67ApplicationsDeterministic Pay-to-script-hash multi-signature addresses through public key sortingThomas Kerin, Jean-Pierre Rupp, Ruben de VriesStandardProposed
68Consensus (soft fork)Relative lock-time using consensus-enforced sequence numbersMark Friedenbach, BtcDrak, Nicolas Dorier, kinoshitajonaStandardFinal
69ApplicationsLexicographical Indexing of Transaction Inputs and OutputsKristov AtlasInformationalProposed
70ApplicationsPayment ProtocolGavin Andresen, Mike HearnStandardFinal
71ApplicationsPayment Protocol MIME typesGavin AndresenStandardFinal
72Applicationsbitcoin: uri extensions for Payment ProtocolGavin AndresenStandardFinal
73ApplicationsUse "Accept" header for response type negotiation with Payment Request URLsStephen PairStandardFinal
74ApplicationsAllow zero value OP_RETURN in Payment ProtocolToby PadillaStandardRejected
75ApplicationsOut of Band Address Exchange using Payment Protocol EncryptionJustin Newton, Matt David, Aaron Voisine, James MacWhyteStandardFinal
78ApplicationsA Simple Payjoin ProposalNicolas DorierStandardDraft
79ApplicationsBustapay :: a practical coinjoin protocolRyan HavarInformationalReplaced
80Hierarchy for Non-Colored Voting Pool Deterministic Multisig WalletsJustus Ranvier, Jimmy SongInformationalDeferred
81Hierarchy for Colored Voting Pool Deterministic Multisig WalletsJustus Ranvier, Jimmy SongInformationalDeferred
83ApplicationsDynamic Hierarchical Deterministic Key TreesEric LombrozoStandardRejected
84ApplicationsDerivation scheme for P2WPKH based accountsPavol RusnakInformationalDraft
85ApplicationsDeterministic Entropy From BIP32 KeychainsEthan KosakovskyInformationalDraft
87ApplicationsHierarchy for Deterministic Multisig WalletsRobert SpiglerStandardProposed
88ApplicationsHierarchical Deterministic Path TemplatesDmitry PetukhovInformationalProposed
90Buried DeploymentsSuhas DaftuarInformationalFinal
91Consensus (soft fork)Reduced threshold Segwit MASFJames HilliardStandardFinal
98Consensus (soft fork)Fast Merkle TreesMark Friedenbach, Kalle Alm, BtcDrakStandardDraft
99Motivation and deployment of consensus rule changes ([soft/hard]forks)Jorge TimónInformationalRejected
100Consensus (hard fork)Dynamic maximum block size by miner voteJeff Garzik, Tom Harding, Dagur Valberg JohannssonStandardRejected
101Consensus (hard fork)Increase maximum block sizeGavin AndresenStandardWithdrawn
102Consensus (hard fork)Block size increase to 2MBJeff GarzikStandardRejected
103Consensus (hard fork)Block size following technological growthPieter WuilleStandardWithdrawn
104Consensus (hard fork)'Block75' - Max block size like difficultyt.khanStandardRejected
105Consensus (hard fork)Consensus based block size retargeting algorithmBtcDrakStandardRejected
106Consensus (hard fork)Dynamically Controlled Bitcoin Block Size Max CapUpal ChakrabortyStandardRejected
107Consensus (hard fork)Dynamic limit on the block sizeWashington Y. SanchezStandardRejected
109Consensus (hard fork)Two million byte size limit with sigop and sighash limitsGavin AndresenStandardRejected
111Peer ServicesNODE_BLOOM service bitMatt Corallo, Peter ToddStandardProposed
112Consensus (soft fork)CHECKSEQUENCEVERIFYBtcDrak, Mark Friedenbach, Eric LombrozoStandardFinal
113Consensus (soft fork)Median time-past as endpoint for lock-time calculationsThomas Kerin, Mark FriedenbachStandardFinal
114Consensus (soft fork)Merkelized Abstract Syntax TreeJohnson LauStandardRejected
115Consensus (soft fork)Generic anti-replay protection using ScriptLuke DashjrStandardRejected
116Consensus (soft fork)MERKLEBRANCHVERIFYMark Friedenbach, Kalle Alm, BtcDrakStandardDraft
117Consensus (soft fork)Tail Call Execution SemanticsMark Friedenbach, Kalle Alm, BtcDrakStandardDraft
118Consensus (soft fork)SIGHASH_NOINPUTChristian DeckerStandardDraft
119Consensus (soft fork)CHECKTEMPLATEVERIFYJeremy RubinStandardDraft
120ApplicationsProof of PaymentKalle RosenbaumStandardWithdrawn
121ApplicationsProof of Payment URI schemeKalle RosenbaumStandardWithdrawn
122ApplicationsURI scheme for Blockchain references / explorationMarco PontelloStandardDraft
123BIP ClassificationEric LombrozoProcessActive
124ApplicationsHierarchical Deterministic Script TemplatesEric Lombrozo, William SwansonInformationalRejected
125ApplicationsOpt-in Full Replace-by-Fee SignalingDavid A. Harding, Peter ToddStandardProposed
126Best Practices for Heterogeneous Input Script TransactionsKristov AtlasInformationalDraft
127ApplicationsSimple Proof-of-Reserves TransactionsSteven RooseStandardDraft
129ApplicationsBitcoin Secure Multisig Setup (BSMS)Hugo Nguyen, Peter Gray, Marko Bencun, Aaron Chen, Rodolfo NovakStandardProposed
130Peer Servicessendheaders messageSuhas DaftuarStandardProposed
131Consensus (hard fork)"Coalescing Transaction" Specification (wildcard inputs)Chris PriestStandardRejected
132Committee-based BIP Acceptance ProcessAndy ChaseProcessWithdrawn
133Peer Servicesfeefilter messageAlex MorcosStandardDraft
134Consensus (hard fork)Flexible TransactionsTom ZanderStandardRejected
135Generalized version bits votingSancho PanzaInformationalRejected
136ApplicationsBech32 Encoded Tx Position ReferencesВелеслав, Jonas Schnelli, Daniel PapeInformationalDraft
137ApplicationsSignatures of Messages using Private KeysChristopher GilliardStandardFinal
140Consensus (soft fork)Normalized TXIDChristian DeckerStandardRejected
141Consensus (soft fork)Segregated Witness (Consensus layer)Eric Lombrozo, Johnson Lau, Pieter WuilleStandardFinal
142ApplicationsAddress Format for Segregated WitnessJohnson LauStandardWithdrawn
143Consensus (soft fork)Transaction Signature Verification for Version 0 Witness ProgramJohnson Lau, Pieter WuilleStandardFinal
144Peer ServicesSegregated Witness (Peer Services)Eric Lombrozo, Pieter WuilleStandardFinal
145API/RPCgetblocktemplate Updates for Segregated WitnessLuke DashjrStandardFinal
146Consensus (soft fork)Dealing with signature encoding malleabilityJohnson Lau, Pieter WuilleStandardWithdrawn
147Consensus (soft fork)Dealing with dummy stack element malleabilityJohnson LauStandardFinal
148Consensus (soft fork)Mandatory activation of segwit deploymentShaolin FryStandardFinal
149Consensus (soft fork)Segregated Witness (second deployment)Shaolin FryStandardWithdrawn
150Peer ServicesPeer AuthenticationJonas SchnelliStandardDraft
151Peer ServicesPeer-to-Peer Communication EncryptionJonas SchnelliStandardWithdrawn
152Peer ServicesCompact Block RelayMatt CoralloStandardFinal
154Peer ServicesRate Limiting via peer specified challengesKarl-Johan AlmStandardWithdrawn
155Peer Servicesaddrv2 messageWladimir J. van der LaanStandardDraft
156Peer ServicesDandelion - Privacy Enhancing RoutingBrad Denby, Andrew Miller, Giulia Fanti, Surya Bakshi, Shaileshh Bojja Venkatakrishnan, Pramod ViswanathStandardRejected
157Peer ServicesClient Side Block FilteringOlaoluwa Osuntokun, Alex Akselrod, Jim PosenStandardDraft
158Peer ServicesCompact Block Filters for Light ClientsOlaoluwa Osuntokun, Alex AkselrodStandardDraft
159Peer ServicesNODE_NETWORK_LIMITED service bitJonas SchnelliStandardDraft
171ApplicationsCurrency/exchange rate information APILuke DashjrStandardRejected
173ApplicationsBase32 address format for native v0-16 witness outputsPieter Wuille, Greg MaxwellInformationalFinal
174ApplicationsPartially Signed Bitcoin Transaction FormatAndrew ChowStandardProposed
175ApplicationsPay to Contract ProtocolOmar Shibli, Nicholas GregoryInformationalDraft
176Bits DenominationJimmy SongInformationalDraft
178ApplicationsVersion Extended WIFKarl-Johan AlmStandardDraft
179Name for payment recipient identifiersEmil Engler, MarcoFalke, Luke DashjrInformationalDraft
180Peer ServicesBlock size/weight fraud proofLuke DashjrStandardRejected
197ApplicationsHashed Time-Locked Collateral ContractMatthew Black, Tony CaiStandardDraft
199ApplicationsHashed Time-Locked Contract transactionsSean Bowe, Daira HopwoodStandardDraft
300Consensus (soft fork)Hashrate Escrows (Consensus layer)Paul Sztorc, CryptAxeStandardDraft
301Consensus (soft fork)Blind Merged Mining (Consensus layer)Paul Sztorc, CryptAxeStandardDraft
310ApplicationsStratum protocol extensionsPavel Moravec, Jan ČapekInformationalDraft
320nVersion bits for general purpose useBtcDrakStandardDraft
322ApplicationsGeneric Signed Message FormatKarl-Johan AlmStandardDraft
325ApplicationsSignetKarl-Johan Alm, Anthony TownsStandardProposed
330Peer ServicesTransaction announcements reconciliationGleb Naumenko, Pieter WuilleStandardDraft
338Peer ServicesDisable transaction relay messageSuhas DaftuarStandardDraft
339Peer ServicesWTXID-based transaction relaySuhas DaftuarStandardDraft
340Schnorr Signatures for secp256k1Pieter Wuille, Jonas Nick, Tim RuffingStandardDraft
341Consensus (soft fork)Taproot: SegWit version 1 spending rulesPieter Wuille, Jonas Nick, Anthony TownsStandardDraft
342Consensus (soft fork)Validation of Taproot ScriptsPieter Wuille, Jonas Nick, Anthony TownsStandardDraft
343Consensus (soft fork)Mandatory activation of taproot deploymentShinobius, Michael FolksonStandardProposed
350ApplicationsBech32m format for v1+ witness addressesPieter WuilleStandardDraft
370ApplicationsPSBT Version 2Andrew ChowStandardDraft