What is coin control?
Choosing which specific unspent outputs a transaction spends, instead of letting the wallet pick.
Not yet verifiedHow we verify
3 min read
In this entry
Choosing which specific unspent outputs a transaction spends, instead of letting the wallet pick.
Bitcoin balances are not a single number. A wallet showing 0.5 BTC is holding a set of separate unspent outputs, perhaps one of 0.3 and four of 0.05, and every transaction spends whole outputs and returns change. Coin control is the feature that lets you decide which ones go in.
It buys you two things, cost and privacy, and the privacy half matters more. Most exchange interfaces hide this entirely, because on an exchange you do not have outputs, you have a balance in a ledger. It is a self-custody feature.
How it works
Bitcoin fees are charged by transaction size in virtual bytes, not by value. Each input adds substantially to that size, so spending five small outputs costs several times more than spending one large one for the identical amount sent. See sat vb.
Privacy is the sharper reason. Combining outputs in one transaction tells any observer that all of them belong to the same owner, which is the common-input-ownership heuristic and the core assumption behind chain analysis. Two outputs you had deliberately kept separate, one from an exchange with your identity documents and one received privately, become linked permanently the moment a single transaction spends both.
Practical uses follow from that. Consolidating many small outputs into one while fee rates are low reduces future costs. Keeping outputs from different sources in separate wallets or labeled groups keeps them unlinked. Avoiding dust outputs prevents an attacker from using a tiny unsolicited payment to link your addresses when you spend it.
Wallet labeling is the workable version of this. Label every incoming output with where it came from at the time it arrives, because reconstructing that later is far harder.
Example
Illustrative. You need to send 0.04 BTC. Your wallet holds one output of 0.30 BTC from an exchange withdrawal and four outputs of 0.05 BTC received privately. Letting the wallet choose might spend all four small outputs plus part of the large one, permanently linking your exchange history to the private receipts and paying for five inputs. Choosing the single 0.05 output instead spends one input, costs a fraction as much in fees, and links nothing. At an illustrative 20 satoshis per virtual byte, a one-input transaction of roughly 140 virtual bytes costs 2,800 satoshis against roughly 15,000 for a five-input one.
Why it matters when you buy
If you buy on an exchange and withdraw repeatedly, you accumulate many separate outputs, and how you later spend them decides both your fees and how much of your history is publicly linked. It also decides what a future deposit back to an exchange looks like to that exchange's screening software. Move crypto off an exchange covers the withdrawal side.
Related terms
utxo — the outputs you are choosing between; dust — outputs too small to spend economically; chain analysis — what linking outputs exposes you to; sat vb — how input count becomes cost; coinjoin — deliberately breaking the linkage.
Questions
Does my wallet support coin control?
Desktop Bitcoin wallets generally do, often behind an advanced or preferences setting. Mobile wallets frequently do not, and exchange accounts never do, because you hold a ledger balance rather than outputs.
Should I consolidate my outputs?
Consolidating while fee rates are low reduces the cost of future spends, and it also links every consolidated output to one owner. The two effects point in opposite directions, so it depends on whether cost or separation matters more for those particular coins.
Does this apply to Ethereum?
No. Ethereum uses account balances rather than unspent outputs, so there is nothing to select. Separation on Ethereum means using different addresses and not linking them through a common funding source.