Bitcoin transaction batching

Today we’re launching Bitcoin transaction batching on Shakepay, a feature that should significantly improve the speed and reliability of your Bitcoin cashouts.

Bitcoin transaction batching

Today we’re launching Bitcoin transaction batching on Shakepay, a feature that should significantly improve the speed and reliability of your Bitcoin cashouts.

What is batching?

Batching is a method of bundling multiple Bitcoin cashouts into one transaction on the Bitcoin network.

A simple metaphor would be that of a postman — instead of grabbing one package from his van at a time, the postman could take them all at once and save a few trips back and forth.

Comparison for three cashouts. No batching results in three Bitcoin transactions vs the one batched transaction.

Why are we doing this?

Periods of high activity on the Bitcoin network increase the cost and reduce the reliability of broadcasting transactions on the network.

Batching solves both of these issues by including multiple cashouts in one transaction and by broadcasting fewer transactions, putting less strain on the Bitcoin network.

To understand the benefits of batching transactions, two factors are worth exploring.

Transaction size

Every transaction has a set structure: signatures, inputs, outputs, etc.

Bitcoin transactions have a large initial cost because of this structure. Additional cashouts to one Bitcoin transaction only increases the transaction size by a few percentage points.

This means for 10 cashouts, a transaction with 11 outputs (10 cashouts + 1 change) is much smaller than 10x transactions with 2 outputs (1 cashout + 1 change).

Transactions also benefit from being sent using Native SegWit which significantly reduces their size.

Current blockchain space demand

Every block can only store up to 1MB of data. When demand increases on the network, the fee rate (satoshis per byte) increases as Bitcoin transactors incentivize miners to pick up their transactions in the next block.

With the increased demand at Shakepay, we were also seeing reliability issues when broadcasting so many transactions to the mempool.

Batching allows us to confidently broadcast one transaction every few minutes with a higher fee rate increasing the likelihood that every cashout gets confirmed quickly.

What does this mean for you?

Bitcoin cashouts will more reliably confirm within the next block.

There’s nothing that you need to change but just know that you may see a few minute delay for your transaction to be broadcast to the network. This delay allows us to gather other customers’ cashouts and prepare the batch for broadcast.

If you’d like to work on technical problems like this, join us at Shakepay.