VeilSwap
← All posts
Fees2026-11-028 min read

UTXO Consolidation and Change: What It Really Costs

We sampled 398 Bitcoin transactions on 2 November 2026: eight consolidations took 30.5% of all inputs and 23.1% of the bytes. What merging and change actually cost, and the break-even that decides it.

We sampled 398 non-coinbase transactions from Bitcoin blocks 974,281 and 974,276, both mined on 2 November 2026. Eight of them were consolidations: ten or more inputs swept into one or two outputs. Those eight were 2.0% of the transactions, yet they consumed 276 of the sample's 904 inputs (30.5%) and 23.1% of its bytes, and paid 185,624 sat in fees between them, $143.05 at $77,053 per BTC. Two heuristics do all the interpretive work here: inputs signed together belong to one wallet, and an output that is not the payment is change. This piece is not about what those heuristics are. It is about what they cost you, and what actually lowers the bill. (how Monero fees work)

The unit is the virtual byte, and it is not uniform. A least-squares fit over the same 398 transactions gives 6.4 vB of fixed overhead per transaction, then 68.0 vB for every native segwit (P2WPKH) input, 92.2 for P2SH, 146.6 for legacy P2PKH and 148.2 for P2WSH. On the output side: 32.6 vB for P2WPKH, 39.0 for P2PKH, 21.7 for Taproot, 69.3 for an OP_RETURN. The Taproot input figure came out at 69.8 vB from only 17 samples, so read it as indicative rather than exact, because a key-path Taproot input is 57.5 vB by construction. That 2.2x gap between P2WPKH and P2PKH is the whole reason a consolidation bill depends on which wallet minted the coins rather than on how many coins you hold.

Merging is cheap today, and the wallets doing it are not optimising. At 18:04 UTC on 2 November 2026 the mempool held 52,687 transactions and 23.52 MvB, an average of 0.306 sat/vB. Only 201,525 vB, or 0.86%, was bidding 3 sat/vB or more, roughly a fifth of one block, and the recommended rates read 3 (fastest), 3 (half hour), 3 (hour), 2 (economy), 1 (minimum). At that price, merging 10 P2WPKH outputs costs 719 vB, which is 2,157 sat or $1.66; 20 outputs cost 1,399 vB, 4,197 sat, $3.23; 50 outputs cost 3,439 vB, $7.95. Do the same with 20 legacy P2PKH outputs and the job costs 2,971 vB, $6.87. The consolidations actually sitting in those two blocks paid 7.03 and 7.53 sat/vB: a 92-input transaction at 9,664.2 vB and 67,977 sat ($52.38), and a 57-input one at 5,221.5 vB and 39,300 sat ($30.28). Per input that is 738.9 and 689.5 sat, or $0.57 and $0.53, against $0.16 for a P2WPKH input at 3 sat/vB. They were spending heavier scripts and paying well above the market.

It is a bet on future fees, not a saving. Spending twenty UTXOs in one transaction later costs 1,399 vB. Consolidating them now costs the same 1,399 vB, and then spending the merged coin costs another 107 vB. So the merge only pays if the future rate is higher. The break-even is r1 > r0 x 1,399/(1,399 - 107) = 1.083, which is 8.3% above today. For 50 UTXOs the bar drops to 3.2%; for 10 it rises to 17.5%, because the 39 vB of overhead plus output is a bigger share of a small merge. And that assumes you really do move the whole merged balance in one go. Merge 20 coins and later spend two of them, and you paid 4,197 sat for a transaction you never needed. Merging is a timing trade with a visible, computable bar. It is not a discount. (how Monero fees work)

The privacy side is not a trade, it is a one-way door. In the same sample 77.1% of transactions had a single input, so common-input ownership only fires on the remaining 22.9%, and a consolidation is the loudest version of it: dozens of addresses signed together, permanently, in a public block, with a timestamp. Every address that ever funded those coins inherits the label retroactively, including the deposit address you used for a swap last month. There is no undo. That is why the sensible rule is not consolidate everything but consolidate only the coins you are willing to have publicly joined, and never across sources you deliberately kept apart, such as a KYC exchange withdrawal and a no-KYC swap payout.

Change is where most of the leakage happens, because a swap deposit is an exact number. Of the 398 transactions, 228 (57.3%) had exactly two outputs and 112 (28.1%) had exactly one, with a median single-output value of 269,374 sat, or 0.00269 BTC. Those single-output spends are the exact-match and sweep cases that create no change at all. In the two-output group the smaller output was a median 12.7% of the larger, and 45.6% of pairs had one output below a tenth of the other. Now put a quote on it. 0.05 BTC to XMR was 6.370191 XMR at 18:03 UTC, and 0.05 is a round number that almost never matches a UTXO exactly. Your wallet pays from a larger coin, returns the remainder, and publishes the pair forever. When the payment side is precisely the quoted amount, an analyst does not even need to guess which side is change.

What actually helps, in order of effect. First, coin control: pick the input yourself and prefer a UTXO that matches the deposit so no change is created. Second, exact-amount selection, which is what Bitcoin Core's branch-and-bound does, and it is the difference between the 28.1% single-output group and the rest. Third, keep purposes in separate wallets instead of merging them; a wallet used for swap deposits should not also receive a salary or an exchange withdrawal. Fourth, if you do consolidate, do it in a window like today's 1 to 3 sat/vB and only for coins you will move together, because the same 20-input merge at 30 sat/vB costs 41,970 sat ($32.34) instead of $3.23. For contrast, Monero prices by the kilobyte at a 20,000 piconero floor right now, with tiers of 20,000, 80,000, 320,000 and 4,000,000 piconero per kB, a pool of 42 transactions and height 3,797,726, and an extra input adds roughly 686 bytes, about 0.0000137 XMR or $0.008. Per-input cost is far lower there, but input count is not what protects Monero transactions.

A five-line procedure for swap users. First, choose the deposit coin before you look at UTXOs; if you are paying BTC, prefer a coin close to the quoted amount. Second, switch coin control on and check the change address is fresh rather than one you have published. Third, send the exact quoted amount: 100 USDT-TRC20 quoted 0.14706716 XMR and 1,000 quoted 1.652617 at 18:03 UTC, and the deposit leg has to match to the last digit the provider accepts. Fourth, give a refund address you control and have never used, because refunds go back on the deposit network only, in the original asset. Fifth, do not merge the change with anything else for a while, since that is the step where most people undo the separation they just paid for. Prices move: every figure here is a snapshot from 2 November 2026, and the live quote on the page governs. (recovering misdirected funds)

Frequently asked questions

Does consolidating UTXOs save on fees?

No, it moves the fee earlier. Merging 20 P2WPKH outputs cost 1,399 vB, or 4,197 sat and $3.23 at 3 sat/vB on 2 November 2026, and spending the merged coin afterwards costs another 107 vB. It only wins if the future rate is more than 8.3% above today and you move the entire merged balance in one transaction.

Why does a swap deposit always create change?

Because the deposit is an exact amount and wallets rarely hold a UTXO of exactly that size. In our 398-transaction sample 57.3% had two outputs and only 28.1% had one. When the payment side is the quoted amount, the other output is the change, and the pairing is public permanently.

Can I consolidate coins from different sources?

Better not. A consolidation signs a permanent ownership proof, so merging a KYC exchange withdrawal with a no-KYC swap payout destroys that distinction for good. If you must merge, do it in a low-fee window and only for coins you are willing to have publicly joined.

Ready to swap?

No account · No KYC · No email

Exchange now
UTXO Consolidation and Change: What It Really Costs — VeilSwap