The Bitcoin Mempool – A Beginner’s Explanation
By: Ofir Beigel | Last updated: 1/9/21
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:
- Mempool Explained
- Mempool Management
- The Importance of the Mempool
- Frequently Asked Questions
- 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 waits 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 version of the pending transactions. This explains the variety of Mempool sizes & transaction counts found in 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:
- SPV clients (also known as lite wallets), wishing to know about transactions before they were confirmed and entered into a block.
- Miners who want to check for lucrative fees or download the current “transaction waiting list” in order to start confirming transactions.
- 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
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 because 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 holds 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:
- 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.
- 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!
I understand what the mempool is but my question is to the viability of having BTC run much above $10K USD. If the number of transactions continues to rocket and the mempool gets over loaded will this no cause fees to skyrocket and cause a dump in BTC? Johoe’s Mempool stats show huge spikes in mempool and it seems that unless the block size is changed or something is done to relieve congestion that BTC will struggle. Am I missing something here as we watch BTC break out over $11K USD but given the mempool stats is it sustainable and… Read more »
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**
What are the near-future expectations about the mempool size and how it will results on the UX of bitcoins
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
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
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.
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
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.
“only new transactions with a fee per kB large enough are not allowed access to the Mempool.” – the ‘not’ is wrong there.