Overview
Batch transactions allow a sender to pay multiple recipients in a single Bitcoin transaction rather than creating separate transactions for each payment. This technique is widely used by exchanges, payment processors, and businesses that need to send many payments efficiently.
How It Works
A standard Bitcoin transaction has overhead that is largely fixed regardless of the number of outputs. By combining multiple payments into one transaction, the fixed overhead is shared across all recipients.
Individual transactions (3 payments):
TX1: [Input] ──→ [Output A] + [Change] ~140 vbytes
TX2: [Input] ──→ [Output B] + [Change] ~140 vbytes
TX3: [Input] ──→ [Output C] + [Change] ~140 vbytes
Total: ~420 vbytes
Batched transaction (3 payments):
TX: [Input] ──→ [Output A]
[Output B]
[Output C]
[Change] ~200 vbytes
Total: ~200 vbytes (52% savings)
Fee Savings
The savings from batching come from two sources:
- Reduced overhead: Each transaction has a fixed overhead for version, locktime, and input metadata. Batching pays this cost only once.
- Fewer change outputs: Instead of creating a change UTXO for each individual transaction, a batched transaction creates only one.
Common Misconceptions
Some users worry that batching harms privacy by linking all recipients in one transaction. While this is a valid concern, the sender's identity is already known to themselves. The primary privacy impact is that recipients can see each other's addresses, which can be mitigated by careful UTXO management and timing.
Who Uses Batching
Most major Bitcoin exchanges and services use batching for withdrawals to reduce their operational costs. This practice also benefits the broader network by consuming less block space per payment.