What is Transaction Batching?
Transaction batching is the process of combining multiple Bitcoin payments into a single transaction. Instead of sending 10 separate transactions to 10 different recipients, you send one transaction with 10 outputs.
This technique is widely used by exchanges, payment processors, and businesses that need to send many payments. It can reduce fees by 50-80% depending on the number of recipients.
How Batching Saves Fees
Bitcoin transaction fees are based on data size (vBytes), not the amount transferred. Every transaction has fixed overhead costs:
- Transaction overhead (~10 vBytes) - Version, locktime, input/output counts
- Input data (~68 vBytes for SegWit) - Previous transaction reference and signature
- Change output (~31 vBytes) - Returning leftover funds to yourself
When you batch, you pay these fixed costs only once instead of N times:
Individual: N x (overhead + input + 2 outputs)Batched: 1 x (overhead + input + N outputs + change)The more recipients you batch, the greater your savings. With 10 recipients, you save about 75%. With 100 recipients, you save over 90%.
When to Batch Payments
Batching is most effective when:
- You have multiple pending payments - Collect them and send together
- Timing is flexible - You can wait to accumulate more payments
- Fees are high - The absolute savings increase with fee rates
- You are an exchange or payment processor - Regular high-volume payouts benefit enormously
Batching may not be ideal when:
- Privacy is critical - Batched outputs are linked in the same transaction
- Payments are time-sensitive - You cannot wait to accumulate more
- You have only one payment - No batching possible
Best Practices for Exchanges and Businesses
Major exchanges like Coinbase, Kraken, and Binance batch withdrawals to reduce costs. Here are best practices:
- Set batch windows - Process withdrawals every hour or every few hours, not instantly
- Use SegWit addresses - Native SegWit (bc1q...) reduces input size by ~38%
- Consolidate UTXOs during low fees - Combine small inputs when fees are cheap
- Consider Taproot - P2TR inputs are even smaller than P2WPKH for complex scripts
- Monitor mempool - Time batches for low-fee periods when possible
- Communicate with users - Explain that batching reduces their fees too
Frequently Asked Questions
How much can I save by batching Bitcoin transactions?
Savings depend on the number of recipients. Batching 10 payments saves about 75%. Batching 100 payments saves over 90%. The more payments you batch, the greater the percentage savings because you eliminate repeated overhead and input costs.
Do all Bitcoin wallets support batching?
Most business-grade wallets and exchange platforms support batching. Consumer wallets vary - some allow adding multiple recipients, while others only support single payments. Check your wallet documentation or use a wallet specifically designed for batch operations.
Does batching affect transaction confirmation time?
No, batched transactions confirm just as fast as individual ones. Miners prioritize based on fee rate (sat/vB), not transaction type. A batched transaction at 10 sat/vB confirms at the same speed as an individual transaction at 10 sat/vB.
Is batching bad for privacy?
Batching does reduce privacy because all outputs in a batched transaction are publicly linked. Recipients and blockchain analysts can see they were paid in the same transaction. For privacy-sensitive payments, individual transactions or using Layer 2 solutions may be preferable.
What is the maximum number of outputs in a batched transaction?
There is no hard limit, but practical constraints exist. A standard transaction can have up to about 2,500 outputs before hitting the 100KB standard transaction size limit. Most batching implementations cap at a few hundred outputs for reliability.
How does address type affect batching savings?
Using SegWit addresses (bc1q... or bc1p...) significantly increases savings. Native SegWit inputs are about 38% smaller than legacy inputs. Taproot (P2TR) inputs are even smaller for complex scripts. Always use modern address formats for maximum efficiency.
Can I batch payments to different address types?
Yes, a single batched transaction can include outputs to any mix of address types - legacy, nested SegWit, native SegWit, and Taproot. The fee savings calculation accounts for the specific size of each output type.
How do exchanges implement batching?
Exchanges typically queue withdrawal requests and process them in batches at regular intervals (every 10-60 minutes). This allows them to combine many user withdrawals into single transactions, dramatically reducing their operational costs and often passing some savings to users through lower withdrawal fees.
Skip Batching Complexity
Spark enables instant, nearly free Bitcoin transactions. No batching needed when fees are under a penny.