What is the Bitcoin Mempool?

Last updated on November 6th, 2017 at 10:41 pm

When a Bitcoin transaction is transmitted to the network it first gets verified by all of the Bitcoin nodes available. After it successfully passes verification it goes and sits inside the “Mempool” (short for Memory Pool) and patiently awaits until a miner picks it up to include it in the next block. So the Mempool is basically the node’s holding area for all the pending transactions.

Here’s a short video about this (the mempool is the unconfirmed transactions pool basically):

All nodes have a different RAM capacity to store unconfirmed transactions. As a result, each node has its own rendition of the pending transactions, this explains the variety of Mempool sizes & transactions counts found on different sources.

But how do the nodes avoid from crashing due to overload by the Mempool size? If the Mempool size gets too close to the RAM capacity, the node sets up a minimal fee threshold. Transactions with fees per kB lower than this threshold are immediately removed from the Mempool and only new transactions with a fee per kB large enough are allowed access to the Mempool.

The Mempool is part of BIP 35 (Bitcoin Improvement Proposal), and it helps SPV wallets (lightweight wallets) record transactions, Bitcoin miners that wish to catch up with transactions after the previous block was mined and more.

So basically the Mempool is the bottleneck of the Bitcoin network. The faster transactions are cleared from it into the Blockchain, the better experience the users get. If the rate of mining new blocks of transaction is lower than the rate of new transactions arriving into the Mempool a “traffic jam” will occur and transactions can take a long time to get approved (depending on their size and attached fee).

When a node receives a new valid block, it removes all the transactions contained in this block from its mempool. This results in a sharp drop in the Mempool size.

If you want to see the current status on the Mempool you can take a look at the graph below (source):

Mempool

 

Mempool size is shown on the right. If, for example, the Mempool size is around 3MB then a transaction will take 3 blocks on average in order to get confirmed. Keep in mind that some of the Mempool transactions are low priority transactions that their sender knows they will take a long time to be confirmed – for example “dust transactions” (sending really small amounts of Bitcoin).

Got more questions about the Mempool? Leave the in the comment section below!

Ofir Beigel

Owner at 99 Coins ltd.
Blogger and owner of 99Bitcoins. I've been dealing with Bitcoin since the beginning of 2013 and it taught me a lesson in finance that I couldn't get anywhere else on the planet. I'm not a techie, I don't understand "Hashes" and "Protocols", I designed this website with people like myself in mind. My expertise is online marketing and I've dedicated a large portion of 99Bitcoins to Bitcoin marketing.

Leave a Reply

6 Comments on "What is the Bitcoin Mempool?"

Notify of
avatar
 
Sort by:   newest | oldest | most voted
Rrenus
Guest
Member
Rrenus

Hi,

I accidentally sent too little fee with my bitcoin transaction. I’m not so experienced but will learn from my failure…

for now the transaction continues hang in the Mempool.
I’m looking for a solution to speed it up now.

Is there somebody who can help me.

Rrenus
Guest
Member
Rrenus

Hi,

I accidentally sent too little fee with my bitcoin transaction. I’m not so experienced but will learn from my failure in the future…

For now the transaction continues hang in the Mempool. I’m looking for a solution to speed it up.

Is there somebody who can help?

93400f99ac7daa8ac47687e3f1583e04116d1cc1d8df3408d065f0f14ad251d5

Fernando
Guest
Member
Fernando

What’s the max time a transaction can stay in the pool? What happens meanwhile? After how long the transaction is cancelled? What happens then, bitcoins goes back to the sender? How long do you recommend me to wait? I’ve been waiting for 48 hours without any success.

Steven Hay
Member
Member
Steven Hay
Hey Fernando, In theory, the max time a tx can remain in the mempool is infinite. In practice a tx will usually “fade” from the mempool after 72 hours. There’s a feature in the code which ignores txs older than this… but the catch is that anyone can rebroadcast your tx, which is what allows it to potentially persist indefinitely. What I recommend that you do is paste the transaction ID (txid) into a transaction accelerator, such as: https://confirmtx.com They will then send it to the pools they’re associated with and hopefully it will then get mined. After sending it… Read more »
Dan
Guest
Member
Dan

“only new transactions with a fee per kB large enough are not allowed access to the Mempool.” – the ‘not’ is wrong there.

wpDiscuz