Imagine a huge warehouse full of transactions that are all ready to be mined into the next block. Where free markets reign supreme and those that pay the highest fees get let through first. Welcome to the Bitcoin Mempool, where you can see every transaction happening in real time and even explore the past too.
Contents
What Is The Bitcoin Mempool (Memory Pool)?
The mempool (a contraction of memory and pool) is where all new transactions go before they are confirmed into a new block. Each node on the Bitcoin network has its own special mempool area that stores all these new transactions while they wait to be processed.
In the diagram above, we represent transactions in green and confirmed blocks (that are full of many transactions) in blue. Nodes receive both individual transactions which get stored in the mempool as well as newly mined blocks which get stored in the Blockchain.
When the node receives the latest mined block, it first checks to ensure that the transactions in the block, as well as the block itself, are all valid. If the new block is confirmed to be legitimate and adhering to the Bitcoin network rules then it removes any transactions contained in that block from its mempool. Mempools aren’t unique to Bitcoin and most cryptocurrencies have their own version.
Learn More: Where Do Bitcoin Transaction Fees Go
How Transactions Flow Through The Mempool
When a Bitcoin Wallet broadcasts a transaction it is sent from the initial Bitcoin Node to all its peers.
As each new node receives the transaction it also sends it to all its peers. This process continues until the transaction is fully propagated throughout the whole Bitcoin network. If the transaction is valid, each node will add it to its mempool. If it’s got an incorrect signature or is trying to spend funds that have already been spent then it’s rejected and purged.
Each node on the Bitcoin network has its own private mempool, this means that two nodes can also have different mempool contents depending on what rules that node runs or what transactions it’s received at that time.
When a newly mined block is received by the node, it compares what transactions are in that block and what transactions are in its mempool. If a transaction in its mempool has been mined into the new block and it’s valid, the node it will drop the transaction from its mempool.
New to Athena Alpha? Start today!
What To Do If Your Transaction Is Stuck In The Mempool
As Bitcoin Mining is mainly motivated by making money, a miner will pick transactions that have the highest fees attached to them. If you’ve broadcast a transaction to the Bitcoin network but haven’t set the fee high enough compared to what all the other transactions are currently at it can get stuck in the mempool.
Even with a crowded mempool, you can usually just wait it out for a day or even week if you’re not in too much of a hurry. If you need that transaction to be confirmed ASAP though you still have a couple of options:
- Replace By Fee (RBF): With this option you broadcast a new, second transaction that replaces the original one with a higher fee rate. As the original transaction is still in the mempool and hasn’t been confirmed, the new higher fee rate transaction is mined into the next block instead. The new transaction should spend at least one of the same inputs as the original transaction
- Child Pays For Parent (CPFP): With this option you broadcast a new, second transaction that “pays for the parents” original transaction. This is accomplished as the new transaction with a higher fee rate spends an output from the original lower fee rate transaction. In order for miners to mine this new “child” transaction and claim the higher fee rate, they also need to mine and confirm the original lower fee rate transaction too
- Transaction Accelerator Service: Some mining pools offer a service that allows you to directly pay them in order to have your low fee rate transaction accelerated to the front of the queue. While this is an option, we recommend instead using the above RBF or CPFP options instead as they are more private
Dive Deeper: How Bitcoin Transaction Fees Work
What Is A Mempool Explorer?
A mempool explorer is simply an interface that shows you what transactions or data is currently in the mempool of a Bitcoin Full Node. As all nodes have their own unique but similar mempool, keep in mind that your nodes mempool will be slightly different to someone elses or even a public mempool explorer.
An excellent public mempool explorer that is also free and open software is mempool.space as shown in the picture above. You can use their public website or host your own version in a Docker container or on an Umbrel, Start9 or myNode for free.
Looking at a mempool explorer is a great way to calculate what fee you should pay and can also help you understand how the Bitcoin network in general works as it gives you a visualisation into its inner workings.
As covered in our Bitcoin Privacy guide, be aware that looking up addresses or transaction ids on a public block explorer can link those Bitcoin Addresses with your IP Address which, in turn, can be linked to your real world identity. It’s recommended to only use your own private mempool explorer to do this, or at least make sure to mask your IP by connecting to them via Tor or a VPN.
FAQ
What Is Mempool Used For?
The mempool is used to store transactions that have not yet been mined and confirmed into a block on the blockchain. It can be thought of like a waiting room for transactions and is useful for miners, wallets and also network diagnostics
How Long Can Bitcoin Be Stuck In Mempool?
If your transaction has a very low fee compared to all the other transactions in the mempool then it can be stuck for days, weeks or even months. Miners will prioritise the transactions with the highest fee rate, so if your transaction isn’t getting confirmed after many days you might want to consider using Replace By Fee (RBF) or Child Pays For Parent (CPFP)
What Does A Full Mempool Mean?
Most mempool configurations default to holding only 300 MB worth of transactions with any additional new transactions that are received being dropped. This is one meaning of the mempool being “full”. Another way many people interpret a “full” mempool is when there’s a lot of transactions queued up and a high fee rate is present
How Long Does it Take to Confirm a Bitcoin Transaction?
On average it takes 10 minutes for a Bitcoin block to be mined. This is an average though, so it will be shorter or longer most times. If you set your fee rate high enough to ensure it’s included in the next mined block, this is how long it takes to confirm a Bitcoin transaction. You can read about this in greater detail with our piece How Long Does Bitcoin Take To Send?
How To Host A Private Mempool Explorer
To host your own mempool explorer you must have a fully synced Bitcoin Node. This can be setup using any new or old computer that has enough space and the Bitcoin Core software or if you’re not very technical there are also custom made plug and play node solutions you can just buy like Umbrel, Start9 or myNode.