{"number":35,"title":"mempool message","authors":["Jeff Garzik"],"status":"Deployed","type":"Specification","layer":"Peer Services","created":"2012-08-16","requires":[],"replaces":[],"replacedBy":[],"discussion":[],"abstract":"Make a network node's transaction memory pool accessible via a new \"mempool\" message. Extend the existing \"getdata\" message behavior to permit accessing the transaction memory pool.","eli5":"Adds a \"mempool\" message that lets a node ask a peer for the unconfirmed transactions it is holding. This helps lightweight wallets and freshly started nodes learn quickly about payments still waiting to be confirmed.","categories":["network","mempool"],"filename":"bip-0035.mediawiki","githubUrl":"https://github.com/bitcoin/bips/blob/master/bip-0035.mediawiki","format":"mediawiki","readingMinutes":1,"inbound":1,"revisions":14,"impact":49,"core":false,"references":[],"lastModified":"2025-10-08","html":"<h2 id=\"abstract\">Abstract</h2>\n<p>Make a network node's transaction memory pool accessible via a new \"mempool\" message.  Extend the existing \"getdata\" message behavior to permit accessing the transaction memory pool.</p>\n<h2 id=\"motivation\">Motivation</h2>\n<p>Several use cases make it desirable to expose a network node's transaction memory pool:</p>\n<ol><li>\nSPV clients, wishing to obtain zero-confirmation transactions sent or received.\n</li></ol>\n<ol><li>\nMiners, to avoid missing lucrative fees, downloading existing network transactions after a restart.\n</li></ol>\n<ol><li>\nRemote network diagnostics.\n</li></ol>\n<h2 id=\"specification\">Specification</h2>\n<ol><li>\nThe mempool message is defined as an empty message where pchCommand == \"mempool\"\n</li></ol>\n<ol><li>\nUpon receipt of a \"mempool\" message, the node will respond with an \"inv\" message containing MSG_TX hashes of all the transactions in the node's transaction memory pool, if any.\n</li></ol>\n<ol><li>\nThe typical node behavior in response to an \"inv\" is \"getdata\". However, the reference Satoshi implementation ignores requests for transaction hashes outside that which is recently relayed. To support \"mempool\", an implementation must extend its \"getdata\" message support to querying the memory pool.\n</li></ol>\n<ol><li>\nFeature discovery is enabled by checking two \"version\" message attributes:\n<ol><li>\nProtocol version >= 60002\n</li></ol>\n<ol><li>\nNODE_NETWORK bit set in nServices\n</li></ol>\n</li></ol>\n<p>Note that existing implementations drop \"inv\" messages with a vector size > 50000.</p>\n<h2 id=\"backward-compatibility\">Backward compatibility</h2>\n<p>Older clients remain 100% compatible and interoperable after this change.</p>\n<h2 id=\"implementation\">Implementation</h2>\n<p><a href=\"https://github.com/bitcoin/bitcoin/pull/1641\">https://github.com/bitcoin/bitcoin/pull/1641</a></p>","toc":[{"id":"abstract","title":"Abstract","level":2},{"id":"motivation","title":"Motivation","level":2},{"id":"specification","title":"Specification","level":2},{"id":"backward-compatibility","title":"Backward compatibility","level":2},{"id":"implementation","title":"Implementation","level":2}],"history":{"totalCommits":14,"firstCommit":"2012-08-27T22:53:52+01:00","lastUpdated":"2025-10-08T14:59:36-07:00","events":[{"sha":"24e96e870fffaa257b465ce1f0370c14aac588e8","date":"2025-10-08T14:59:36-07:00","author":"Murch","message":"process: Created ↦ Assigned","url":"https://github.com/bitcoin/bips/commit/24e96e870fffaa257b465ce1f0370c14aac588e8","kind":"edit"},{"sha":"5207ef92a52d0b8902895b0dbb40823a4d698ec9","date":"2025-04-11T20:08:17-07:00","author":"Murch","message":"process: Author ↦ Authors","url":"https://github.com/bitcoin/bips/commit/5207ef92a52d0b8902895b0dbb40823a4d698ec9","kind":"edit"},{"sha":"59730dec4fb641a41589aa1b91d3c452f13e0e36","date":"2025-04-11T20:05:13-07:00","author":"Murch","message":"process: Remove Comments-URI and -Summary","url":"https://github.com/bitcoin/bips/commit/59730dec4fb641a41589aa1b91d3c452f13e0e36","kind":"edit"},{"sha":"a233bde4af52c6a11269e2e6dd9707abce441ffe","date":"2025-04-11T18:19:21-07:00","author":"Murch","message":"process: Standards Track ↦ Specification","url":"https://github.com/bitcoin/bips/commit/a233bde4af52c6a11269e2e6dd9707abce441ffe","kind":"edit"},{"sha":"5d3ceb37734f80b2ec206fc94245e3bfd6d5b0f0","date":"2025-04-11T18:08:44-07:00","author":"Murch","message":"process: Final/Active ↦ Deployed","url":"https://github.com/bitcoin/bips/commit/5d3ceb37734f80b2ec206fc94245e3bfd6d5b0f0","kind":"status"},{"sha":"8375f71ee64cda848b159fa4a0c3719a48037492","date":"2025-04-12T16:55:08+02:00","author":"FT","message":"BIP15,20: add missing words (#1822)","url":"https://github.com/bitcoin/bips/commit/8375f71ee64cda848b159fa4a0c3719a48037492","kind":"edit"},{"sha":"2d9e431fbe654640b55bca3bf8c4b17462890109","date":"2024-04-30T14:51:39-04:00","author":"Varunram Ganesh","message":"[trivial]: Correct spellings across bips (#675)","url":"https://github.com/bitcoin/bips/commit/2d9e431fbe654640b55bca3bf8c4b17462890109","kind":"edit"},{"sha":"959fecc15bdad070afa63455468b1dba54655fa6","date":"2016-11-30T09:47:31+00:00","author":"Luke Dashjr","message":"Promote BIP 2 Draft->Active, and implement it","url":"https://github.com/bitcoin/bips/commit/959fecc15bdad070afa63455468b1dba54655fa6","kind":"status"},{"sha":"72f18918a8ae655212ea2700b30f0dc4d758b843","date":"2016-11-30T09:45:33+00:00","author":"Luke Dashjr","message":"Promote BIP 123 Draft->Active, and implement it","url":"https://github.com/bitcoin/bips/commit/72f18918a8ae655212ea2700b30f0dc4d758b843","kind":"status"},{"sha":"f31f7d43473fadcfafbc886b15e8c488654839c2","date":"2016-02-01T20:14:22+00:00","author":"Luke Dashjr","message":"Promote Accepted->Final BIPs 11, 14, 21, 22, 23, 31, 32, 34, 35, 37, 65","url":"https://github.com/bitcoin/bips/commit/f31f7d43473fadcfafbc886b15e8c488654839c2","kind":"status"},{"sha":"d9e890a8f27e46806238e298a346397871fd7e87","date":"2013-10-21T02:18:47-04:00","author":"Peter Todd","message":"Fix formatting","url":"https://github.com/bitcoin/bips/commit/d9e890a8f27e46806238e298a346397871fd7e87","kind":"edit"},{"sha":"06f26194f0f4e6df768689c640537ea27b6a89ce","date":"2013-10-21T00:54:14-04:00","author":"Peter Todd","message":"Archive Revision as of 21:50, 27 August 2012","url":"https://github.com/bitcoin/bips/commit/06f26194f0f4e6df768689c640537ea27b6a89ce","kind":"edit"},{"sha":"1f64d2b06d628dffdc297be9a8afbb9da4e6b6ca","date":"2013-10-21T00:32:10-04:00","author":"Peter Todd","message":"Rename to mediawiki extension","url":"https://github.com/bitcoin/bips/commit/1f64d2b06d628dffdc297be9a8afbb9da4e6b6ca","kind":"rename"},{"sha":"b043142bed7750d5a3975b8c839376d419ca1fec","date":"2012-08-27T22:53:52+01:00","author":"Amir Taaki","message":"BIP 35 - mempool message","url":"https://github.com/bitcoin/bips/commit/b043142bed7750d5a3975b8c839376d419ca1fec","kind":"edit"}]}}