The Bitcoin blockchain rewards it's participants to keep the electricity on and the miners running. It is a cornerstone of the industry, and the Mempool is the least understood part of it. This article explains the Mempool.

Miners process blocks and are awarded a Bitcoin for every block they process/mine.

The miners are also permitted to choose the transactions submitting the highest fees to process. This is common sense - any miner would prefer a higher fee if given an option - it's the "icing on the cake": 1 BTC + fees.

Each block can only contain a certain number of transactions:

"Average Bitcoin transactions per block represent how many transactions are included in each 2 MB block, on average, in a given day. Assuming an average transaction occupies 570 bytes of data, then a block can contain approximately 3,500 transactions, given the 2 MB limit." 

What happens to the waiting unprocessed transactions?

There are always more transactions waiting to be processed than the Blockchain can handle. These transactions "on hold" are put into a special list called a "mempool".

Where is the Mempool?

A Bitcoin Node is a software program, running on a server, that shares and confirms Bitcoin transactions (as well as wallets).

When referring to "the Mempool", this article refers to the collective Bitcoin NETWORK mempools (not just a single mempool on a single Bitcoin node).

When will my low-fee transaction be confirmed?

The Bitcoin network processes a transaction from the Mempool on a specific Bitcoin Node when the fee "fits" into the block. A miner would rather have 10 satoshis than nothing, so it fits the lower-fees into it's block when they have the space available.

These websites (there are many) show the current Mempool status and the fees that are bidding for the quickest processing:

Did a SELL customer send you BTC with a low fee?

BE CAREFUL!!

The customer may have intentionally sent it with a low fee, hoping to pressure you into releasing the cash before the transaction has confirmed.

The customer has a number of tools available to void or reroute that transaction BEFORE IT CONFIRMS - leaving you scammed. Don't become a victim.

It could be an accident - completely unintentional - or it could be an attempt to defraud you. You'll have to use your own judgement.

The bottom line: the customer sent you BTC with a low fee. That's their fault; don't bend to their demands.

Hypothetical situation:

  1. A customer creates a server, and installs a Bitcoin Node. Anyone can do this.

  2. The customer sends BTC to the Bitcoin Node that he controls to begin the scam.

  3. The customer initiates a SELL at your BATM3 with an unreasonably low fee sent by the Bitcoin Node that is under his control. It shows as "unconfirmed".

  4. After a day or two, it still hasn't cleared (of course: too low a fee).

  5. He complains to you, "WHY IS THIS TAKING SO LONG?!!"

  6. You capitulate after being manipulated; he walks away with the cash in his hand.

  7. That same “customer” then shuts down his Bitcoin Node and the unconfirmed transaction is automatically voided by doing so. You will never receive the BTC. He scammed you.


Mins and Max

A common question regarding SELL settings in CAS is: “how to properly set the minimum and maximum mining fees?”

This is a complicated question. CAS uses (by default) an X rolling method of calculation. It looks at the last X transactions, averages them out, and forwards the SELL transaction using that average. This is where it gets complicated.

If the fee is rapidly moving higher, the transaction may get stuck in the mempool. This may happen on occasion when using the default settings. It’s inevitable. There are 2 approaches:

  1. Wait it out. The transaction will eventually clear and your target wallet will be credited. Smaller transactions can usually wait in this situation.

  2. Manually increase the fee. Sometimes this is appropriate, e.g. a large transaction that impairs your ability to do business. There are 2 types:

    1. RBF (Replace By Fee) resubmits the same transaction to the network with a higher fee.

    2. CPFP (Child Pays For Parent) creates a child transaction that forces miners to also include the parent in the block.

So, how do you avoid this issue to begin with?

You can set the SELL Minimum Mining Fee Per Byte and Maximum Mining Fee Per Byte settings. When you set these numbers, you ensure that your transactions are processed within a defined fee range. The “X rolling” fee calculation is still used, but it will never be less (or more) than the range you set here.

Minimum Mining Fee Per Byte

Minimum Mining Fee Per Byte ensures that the transaction is never submitted to the network with a trivial fee. The vast majority of “stuck” transactions involve fees of 1 sat/byte (or less).

Here’s a current graph of the mempool fees from https://jochen-hoenicke.de/queue/#BTC,30d,weight:

Here’s a current graph of the mempool fees from the past year:

And 6+ years:

The takeaway is: there is no “perfect” minimum. You will always be vulnerable as long as you are profitable. Paying 400x the average mining fees to avoid any delay is unreasonable (and expensive).

The best advice? Set it to 2 sat/byte (or slightly higher). This will mitigate the problem for most transactions, while still retaining some level of profitability.

Maximum Mining Fee Per Byte

In the chart above, you can see that a mining fee of 400+ sat/byte was offered for some transactions.