Skip to content
/ bips Public

Bitcoin Improvement Proposals

NotificationsYou must be signed in to change notification settings

bitcoin/bips

Folders and files

NameName
Last commit message
Last commit date
Aug 13, 2024
Oct 21, 2013
May 1, 2017
Mar 21, 2021
Nov 16, 2021
Sep 28, 2018
Oct 21, 2013
Jun 26, 2024
Apr 2, 2014
Jul 11, 2015
Dec 16, 2021
Nov 23, 2015
Sep 20, 2015
Sep 13, 2015
Oct 21, 2013
Nov 29, 2016
Nov 16, 2017
Jul 29, 2016
Jan 16, 2022
Jan 9, 2016
May 8, 2017
Apr 9, 2016
Jun 20, 2016
Aug 14, 2018
May 29, 2024
May 22, 2022
Sep 3, 2022
May 9, 2024
Jul 23, 2024
May 1, 2024
Apr 25, 2024
Jun 10, 2024
Nov 13, 2021
Jan 4, 2024
Jul 12, 2024
Jul 21, 2024
May 2, 2024
Oct 4, 2021
May 22, 2022
Aug 13, 2024
Aug 13, 2024
Sep 26, 2024
Aug 26, 2020
Apr 25, 2024
Mar 22, 2021
Jul 26, 2024
Dec 7, 2023
Sep 30, 2022
Dec 7, 2023
Sep 18, 2019
May 1, 2024
Jun 12, 2024
Dec 13, 2021
Jul 26, 2024
Dec 15, 2016
Feb 27, 2020
Dec 15, 2016
Apr 25, 2024
Dec 15, 2016
Dec 15, 2016
Jul 21, 2017
Nov 30, 2016
Apr 25, 2024
Feb 29, 2020
Nov 19, 2020
May 1, 2024
Mar 14, 2020
Nov 30, 2016
Jul 26, 2024
Apr 25, 2024
Jul 26, 2024
Mar 19, 2024
Mar 19, 2024
Aug 27, 2019
Aug 8, 2024
May 29, 2024
Jul 21, 2021
May 29, 2024
Nov 30, 2016
Jul 26, 2024
Dec 7, 2023
May 1, 2024
Jan 20, 2017
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Oct 11, 2021
Sep 5, 2018
Nov 30, 2016
Jul 26, 2024
Nov 30, 2016
Jun 21, 2019
Aug 8, 2024
Jul 4, 2024
Jun 9, 2024
May 1, 2024
May 1, 2024
Jul 26, 2024
Mar 19, 2024
Sep 26, 2024
Jul 11, 2024
May 29, 2024
Jul 26, 2024
Jul 26, 2024
Aug 11, 2017
May 29, 2024
Aug 15, 2024
May 29, 2024
Jul 26, 2024
Sep 25, 2019
Nov 30, 2016
Sep 20, 2019
Oct 11, 2019
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Nov 30, 2016
Jul 26, 2024
Jul 26, 2024
May 13, 2024
May 29, 2024
May 29, 2024
Jul 5, 2018
Sep 20, 2022
Aug 8, 2024
Jul 26, 2024
Feb 9, 2018
Jul 26, 2024
Jul 26, 2024
Aug 21, 2020
Apr 11, 2022
May 1, 2024
May 1, 2024
Jul 26, 2024
Jul 11, 2024
Aug 2, 2020
Jul 26, 2024
May 2, 2024
Jul 26, 2024
May 29, 2024
May 15, 2021
May 29, 2024
May 29, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Sep 16, 2017
Jun 25, 2020
Sep 17, 2017
Aug 11, 2017
Aug 11, 2017
Jul 18, 2024
May 1, 2024
Aug 8, 2024
Jul 26, 2024
Jul 26, 2024
Jul 26, 2024
Sep 16, 2021
May 9, 2024
Jul 26, 2024
Aug 2, 2020
Apr 26, 2024
Aug 30, 2024
Feb 1, 2021
Jul 26, 2024
Jul 30, 2019
Jul 12, 2022
Aug 2, 2020
May 2, 2024
Jul 26, 2024
Sep 24, 2024
Sep 24, 2024
May 2, 2024
Sep 7, 2018
May 15, 2024
Jul 27, 2024
Mar 29, 2021
May 6, 2022
Jul 23, 2024
Jun 19, 2024
Jul 26, 2024
Oct 13, 2023
Apr 25, 2024
May 29, 2024
Jul 11, 2024
Jul 11, 2024
Jul 26, 2024
Jul 26, 2024
Feb 20, 2023
Jul 26, 2024
Jul 26, 2024
Sep 9, 2024
May 29, 2024
May 29, 2024
Aug 8, 2024
Oct 3, 2024
Jul 12, 2024
Jul 11, 2024
May 29, 2024
Jun 19, 2024
Jun 28, 2024
Jul 26, 2024
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Jul 11, 2024
Aug 15, 2024
Jul 11, 2024
Aug 14, 2024
Jul 10, 2024
Jul 21, 2024
May 24, 2024

Repository files navigation

People wishing to submit BIPs, first should propose their idea or document to the bitcoindev@googlegroups.com 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).

NumberLayerTitleOwnerTypeStatus
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 RusnakStandardFinal
44ApplicationsMulti-Account Hierarchy for Deterministic WalletsMarek Palatinus, Pavol RusnakStandardFinal
45ApplicationsStructure for Deterministic P2SH Multisignature WalletsManuel Araoz, Ryan X. Charles, Matias Alejo GarciaStandardProposed
46ApplicationsAddress Scheme for Timelocked Fidelity BondsChris Belcher, Thebora KompanioniStandardDraft
47ApplicationsReusable Payment Codes for Hierarchical Deterministic WalletsJustus RanvierInformationalFinal
48ApplicationsMulti-Script Hierarchy for Multi-Sig WalletsFontaineStandardProposed
49ApplicationsDerivation scheme for P2WPKH-nested-in-P2SH based accountsDaniel WeiglStandardFinal
50March 2013 Chain Fork Post-MortemGavin AndresenInformationalFinal
52Consensus (hard fork)Durable, Low Energy Bitcoin PoWMichael Dubrovsky, Bogdan PenkovskyStandardDraft
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 RusnakStandardFinal
85ApplicationsDeterministic Entropy From BIP32 KeychainsEthan Kosakovsky, Aneesh KarveInformationalDraft
86ApplicationsKey Derivation for Single Key P2TR OutputsAva ChowStandardFinal
87ApplicationsHierarchy for Deterministic Multisig WalletsRobert SpiglerStandardProposed
88ApplicationsHierarchical Deterministic Path TemplatesDmitry PetukhovInformationalProposed
90Buried DeploymentsSuhas DaftuarInformationalFinal
91Consensus (soft fork)Reduced threshold Segwit MASFJames HilliardStandardFinal
93Applicationscodex32: Checksummed SSSS-aware BIP32 seedsLeon Olsson Curr, Pearlwort Sneed, Andrew PoelstraInformationalDraft
94ApplicationsTestnet 4Fabian JahrStandardDraft
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_ANYPREVOUT for Taproot ScriptsChristian Decker, Anthony TownsStandardDraft
119Consensus (soft fork)CHECKTEMPLATEVERIFYJeremy Rubin, James O'BeirneStandardDraft
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 DaftuarStandardFinal
131Consensus (hard fork)"Coalescing Transaction" Specification (wildcard inputs)Chris PriestStandardRejected
132Committee-based BIP Acceptance ProcessAndy ChaseProcessWithdrawn
133Peer Servicesfeefilter messageAlex MorcosStandardFinal
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 SchnelliStandardDeferred
151Peer ServicesPeer-to-Peer Communication EncryptionJonas SchnelliStandardReplaced
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 SchnelliStandardFinal
171ApplicationsCurrency/exchange rate information APILuke DashjrStandardRejected
173ApplicationsBase32 address format for native v0-16 witness outputsPieter Wuille, Greg MaxwellInformationalFinal
174ApplicationsPartially Signed Bitcoin Transaction FormatAva ChowStandardFinal
175ApplicationsPay to Contract ProtocolOmar Shibli, Nicholas GregoryInformationalRejected
176Bits DenominationJimmy SongInformationalDraft
178ApplicationsVersion Extended WIFKarl-Johan AlmStandardDraft
179Name for payment recipient identifiersEmil Engler, 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
324Peer ServicesVersion 2 P2P Encrypted Transport ProtocolDhruv Mehta, Tim Ruffing, Jonas Schnelli, Pieter WuilleStandardFinal
325ApplicationsSignetKarl-Johan Alm, Anthony TownsStandardProposed
326ApplicationsAnti-fee-sniping in taproot transactionsChris BelcherInformationalDraft
327MuSig2 for BIP340-compatible Multi-SignaturesJonas Nick, Tim Ruffing, Elliott JinInformationalDraft
328ApplicationsDerivation Scheme for MuSig2 Aggregate KeysAva ChowInformationalDraft
329ApplicationsWallet Labels Export FormatCraig RawInformationalDraft
330Peer ServicesTransaction announcements reconciliationGleb Naumenko, Pieter WuilleStandardDraft
331Peer ServicesAncestor Package RelayGloria ZhaoStandardDraft
337API/RPCCompressed TransactionsTom BriarStandardDraft
338Peer ServicesDisable transaction relay messageSuhas DaftuarStandardWithdrawn
339Peer ServicesWTXID-based transaction relaySuhas DaftuarStandardFinal
340Schnorr Signatures for secp256k1Pieter Wuille, Jonas Nick, Tim RuffingStandardFinal
341Consensus (soft fork)Taproot: SegWit version 1 spending rulesPieter Wuille, Jonas Nick, Anthony TownsStandardFinal
342Consensus (soft fork)Validation of Taproot ScriptsPieter Wuille, Jonas Nick, Anthony TownsStandardFinal
343Consensus (soft fork)Mandatory activation of taproot deploymentShinobius, Michael FolksonStandardFinal
345Consensus (soft fork)OP_VAULTJames O'Beirne, Greg Sanders, Anthony TownsStandardDraft
347Consensus (soft fork)OP_CAT in TapscriptEthan Heilman, Armin SabouriStandardDraft
350ApplicationsBech32m format for v1+ witness addressesPieter WuilleStandardFinal
351ApplicationsPrivate PaymentsAlfred Hodler, Clark MoodyInformationalDraft
352ApplicationsSilent Paymentsjosibake, Ruben SomsenStandardProposed
353ApplicationsDNS Payment InstructionsMatt Corallo, Bastien TeinturierStandardDraft
370ApplicationsPSBT Version 2Ava ChowStandardFinal
371ApplicationsTaproot Fields for PSBTAva ChowStandardFinal
372ApplicationsPay-to-contract tweak fields for PSBTMaxim OrlovskyStandardDraft
373ApplicationsMuSig2 PSBT FieldsAva ChowStandardDraft
379ApplicationsMiniscriptPieter Wuille, Andrew Poelstra, Sanket Kanjalkar, Antoine Poinsot, Ava ChowInformationalDraft
380ApplicationsOutput Script Descriptors General OperationPieter Wuille, Ava ChowInformationalFinal
381ApplicationsNon-Segwit Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
382ApplicationsSegwit Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
383ApplicationsMultisig Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
384Applicationscombo() Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
385Applicationsraw() and addr() Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
386Applicationstr() Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
387ApplicationsTapscript Multisig Output Script DescriptorsPieter Wuille, Ava ChowInformationalFinal
388ApplicationsWallet Policies for Descriptor WalletsSalvatore IngalaStandardProposed
389ApplicationsMultipath Descriptor Key ExpressionsAva ChowInformationalDraft
390Applicationsmusig() Descriptor Key ExpressionAva ChowInformationalDraft
431ApplicationsTopology Restrictions for PinningGloria ZhaoInformationalDraft

About

Bitcoin Improvement Proposals

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages