Everyone always get informations about mempool (size for example) and about bitcoin transactions fees, but these infos are many times quite confusing. The bitcoin network is a decentralized network populated by peers which are communicating each others. Therefore there is no centralized memory pool. Instead each node has its own mempool and manages it depending on bitcoin core configuration. The configuration can be changed in order to match the needs of the node owner.

So it is normal that size of mempool is different on different nodes. The default mempool maximum size is set to 300MB but you can raise it by setting the

maxmempool

variable in the bitcoin.conf configuration file.

This variable is important in managing the transactions standing in the mempool. Infact when this value is reached, the node will start to remove the transactions with lover fee rate and thus accept only fee with an higher minimum fee (increasing the minMempoolFeeRate var). This adjustment makes possible to maintain the size at the maximum size set. So it will send to the other nodes the signal not to forward to it transactions below that size.

The majority of nodes have 300 MB or less. This means that many low fees transactions will not be confirmed for longtime and probably will need to be bumped in fees to be accepted by nodes and then confirmed. This is normally accomplished by the RBF notification.

Here an example mempool info result

The mempool can be saved to disk at node shutdown or invoking the “savemempool” command. in that case the mempool.dat file is written to disk and is loaded when node is coming back running.