35 / 736UTXO+

Coin Control

Choosing which funds to spend

A wallet feature for choosing which funds you have received to use for a payment. It helps you manage fees and decide which funds to link publicly.

Coin Control lets you choose the funds for a particular payment yourself. A bitcoin balance consists of individual unspent outputs from earlier transactions, called UTXOs. The wallet normally selects them automatically; Coin Control lets you take over that choice.

UTXO consolidation calculatorCompare modeled fees for spending UTXOs together later with consolidating today and spending one input later.

Alice receives 120,000 sat for work and another 80,000 sat as a gift. A sat is the smallest unit of bitcoin. Her wallet shows 200,000 sat, but in this example that total consists of two separate UTXOs. She need not spend both when making a payment. Coin Control lets her open the list and select just the work payment. Labels such as “work” and “gift” help her keep track; they are her wallet notes, not proof of where the money came from. If she has no reason to choose particular funds, she can leave selection to the wallet. [3]

Alice selects the 120,000 sat UTXO to send 100,000 sat. The selected output is spent in full, rather like handing over a larger banknote and receiving change. Suppose the resulting transaction has a virtual size of 200 vB and a fee rate of 5 sat/vB. A vB is a size unit used to calculate fees, so the fee here is 1,000 sat. The recipient gets 100,000 sat and 19,000 sat returns to Alice in a new output called change. Her other 80,000 sat UTXO remains untouched. This is an example with an assumed size and a sender-paid fee, not a universal transaction size. [4]

Each UTXO spent becomes an input to the new transaction and adds data. With the same input type and fee rate, paying from ten small receipts therefore usually costs more than paying from one large receipt. The fee is not a percentage of the amount sent: the wallet calculates it from size and the chosen rate. Several small UTXOs can be combined into one output of your own, a process called consolidation. At low fee rates this can simplify later spending and reduce its fees, but consolidation itself costs a fee and publicly links the funds used. [1]

If Alice spends both her work payment and gift in one transaction, a blockchain observer may infer that one person controls both sources. The blockchain is a public transaction record. Her private labels are not visible there, but the combined inputs are. Selecting funds separately can avoid this particular link. It does not provide anonymity: other connections may already be known. Shared inputs are not certain proof of a single owner either. Payjoin, for example, lets both sender and recipient contribute inputs to one payment. [2]

Alice’s 19,000 sat is not returned later in another transaction. Change is created in the payment itself as a new output for her wallet. That remainder has a history too: it came from her work payment. If she later spends it together with the gift, she may create the link she originally avoided. Track change outputs as well, and do not assume a new address resets your privacy. A large change amount means the selected value considerably exceeds the payment plus fee; it does not by itself mean the selection was wrong. [2]

Before signing, Alice checks the actual inputs, the recipient’s complete address, the amount, her own change and the total fee. A signature authorizes a specific transaction; a list of ticked boxes is not yet a completed payment. Selected funds must cover both the amount and the fee. When you spend funds that have not yet been confirmed, the new payment depends on the transaction that sent you those funds. If that earlier transaction never enters the blockchain, the payment spending its output cannot be confirmed either. Manual selection should help you understand a payment, not encourage changes to settings whose consequences you do not understand. [4]

Behaviour depends on the program and version. In Bitcoin Core v29.0, fundrawtransaction enables add_inputs by default: it may add inputs when those supplied are insufficient. To spend only the selected UTXOs, check this setting and the final proposal. The listunspent command helps inspect the available outputs. Its txid field identifies the previous transaction and vout identifies the output’s position; together they identify one UTXO. solvable means the program knows how it could be spent, not that it holds the required private keys. Constructing a transaction does not supply missing signatures. [4] [3]

Coin Control is useful when you know why you want to keep particular receipts apart or want to understand the cost of spending them. It does not replace a safe backup, change the funds’ history or erase a link already published. You need not use it for every payment. What matters is recognizing when automatic selection suits you and when to decide yourself, then checking that the proposed transaction really matches your intention. [3] [2]

For the clearest picture, read this entry together with UTXO, Wallet, Change Address, Bitcoin Privacy. The reverse links also lead from Change Address, CoinJoin, Bitcoin Privacy, Coin Selection.

DOC · 001BIP 141: transaction weightPrimary DOC · 002BIP 78: Payjoin and ownership heuristicsPrimary DOC · 003Bitcoin Core v29.0: listunspentDocumentation DOC · 004Bitcoin Core v29.0: fundrawtransactionDocumentation
Revised: Source-first · No investment advice