The Bitcoin Mempool – A Beginner’s Explanation

Last updated: 7/8/19

If you’ve been into Bitcoin long enough, you may have heard the term “Mempool” being thrown around. In this post I’ll explain exactly what the Mempool is and why it’s important.

Bitcoin Mempool Summary

The Mempool is a “waiting area” for Bitcoin transactions that each full node maintains for itself. After a transaction is verified by a node, it waits inside the Mempool until it’s picked up by a Bitcoin miner and inserted into a block.

That’s the Bitcoin mempool in a nutshell. If you want a more detailed explanation about the Mempool keep on reading, here’s what I’ll cover:

  1. Mempool Explained
  2. Mempool Management
  3. The Importance of the Mempool
  4. Frequently Asked Questions
  5. Conclusion

1. Mempool Explained

Before we begin, here’s a short and important video about how Bitcoin transactions get confirmed:

When a Bitcoin transaction is transmitted to the network, it first gets verified by all of the Bitcoin nodes available (i.e. computers participating in the Bitcoin network).

After it successfully passes verification by a node, it sits inside that node’s “Unconfirmed Transactions” area called the “Mempool” (short for Memory Pool). The transaction patiently awaits until a miner picks it up and includes it in the next block.

The Mempool is basically the node’s holding area for all the pending transactions.

Each node has a different capacity for storing unconfirmed transactions. As a result, each node has its own rendition of the pending transactions. This explains the variety of Mempool sizes & transaction counts found on different sources.


2. Mempool Management

You may be wondering: how do nodes keep from crashing due to overload of pending transactions in the Mempool?

The answer is simple. Once the Mempool reaches full capacity, the nodes start prioritizing transactions by setting up a minimal transaction fee threshold.

Transactions with a fee-rate lower than the threshold are immediately removed from the Mempool and only new transactions with a large enough fee are allowed access to the Mempool.


3. The Importance of the Mempool

The Mempool is part of BIP 35 (Bitcoin Improvement Proposal No.35). The idea was that outside nodes would be able to access other nodes’ Mempool. This is useful for several cases:

  1. SPV clients (also known as lite wallets), wishing to know about transactions before they were confirmed and entered into a block.
  2. Miners who want to check for lucrative fees or download the current “transaction waiting list” in order to start confirming transaction.
  3. Remote network diagnostics.

The Mempool is the “waiting room” of the Bitcoin network. The faster transactions are cleared from it and added into blocks on the Blockchain, the better experience users will get.

In other words, if new transactions arrive at a higher rate than they are cleared from the mempool into blocks, 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 the latest mined block from the miner, 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 this graph

Mempool

If, for example, the Mempool size is around 3MB then most transactions will have to wait at least one or two blocks until they get confirmed. This is since each block is 1MB in size so it can take up to 3 confirmations to clear the whole mempool (assuming no new transactions are coming in).

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).


4. Frequently Asked Questions

How Long Does it Take to Confirm a Bitcoin Transaction?

On average a new block of Bitcoin transactions is mined every 10 minutes. This is an average, meaning it could take 1 minute or 1 hour as well. Each block hold a few thousand transactions.

Depending on the fee you’ve attached to your transaction you’ll be able to estimate how long it will take your transaction to get confirmed (again, on average).

You can use this page to see how much of a fee you need to attach to get confirmed within a certain amount of time.

What Should I Do If My Transaction is Stuck in the Mempool?

As a rule of thumb, if you wait long enough (usually around 48 hours) your transaction will drop from all of the Bitcoin mempools and the funds will be returned to your wallet.

However, here are some other things you can do to expedite transaction confirmation:

  1. Use Replace By Fee (RBF) – Some wallets (e.g. Electrum) will allow you to replace an existing transaction with a new one with a higher fee.
  2. Use transaction accelerators – Some mining pools supply a service of accelerating specific transactions for a fee or on a first come first serve basis.

5. Conclusion

The Mempool is a very important part of the Bitcoin network. It allows us to understand how crowded the network is and if there are “transaction traffic jams” which result in slower confirmation times and higher fees.

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

Bitcoin Video Crash Course 

Dummy-proof explainer videos enjoyed by over 100,000 students. One email a day for 7 days, short and educational, guaranteed.

We hate spam as much as you do. You can unsubscribe with one click.

13
Leave a Reply

avatar
8 Comment threads
5 Thread replies
6 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
Rosey SmithgemstoneSteven HayStoMarc Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Rosey Smith
Guest
Rosey Smith

A supply chain present on a Blockchain is more traceable, transparent and reliable. This type of information is really very helpful for all the users very nicely. **link removed**

Sto
Guest
Sto

What are the near-future expectations about the mempool size and how it will results on the UX of bitcoins

Marc
Guest
Marc

I’m worried..
I sent a transfer from electrum, I set i very high fee to process it quickly, but seem sit’s not processed anyway.. what could be the issue? other T with smaller fees are being processed first

please, help

TX: 653fb1f0c8b38017cda199ccf7f0661a86e4be1129aaa22711595f30b5b0f34a

kpraj
Guest
kpraj

Hi …I have new one and transfer bitcoin in Binance but still Its not transfer more than 10 hrs happen..pls assist me my Transaction ID – 1f9876c6bdf49250b50a2cd323634260fa3fe4fc304ca249a6f60d0d447d6d2e

Rrenus
Guest
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
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
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.

Dan
Guest
Dan

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