Coin selection is the method a wallet uses to choose which of its UTXOs to spend in a particular transaction.
Most early Bitcoin wallets implemented relatively simple coin selection strategies, such as spending UTXOs in the order they were received (first-in, first-out), but as fees have become more of a concern, some wallets have switched to more advanced algorithms that try to minimize transaction size.
Coin selection strategies can also be used to improve onchain privacy by trying to avoid the use of UTXOs associated with previous transactions in later unrelated transactions.
Optech newsletter and website mentions
- Bitcoin Core #24584 prefers input sets composed of a single output type for privacy
- What is the coin selection ‘waste metric’?
- Bitcoin Core #17526 adds Single Random Draw coin selection algorithm
- Bitcoin Core #22009 introduces new heuristic to compare the effectiveness of coin selection results
- Bitcoin Core PR#17290 coin selection for customized transactions
- Bitcoin Core 0.19 adds wallet flag to avoid address reuse privacy loss
- Bitcoin Core PR#13756 adds flag to avoid address reuse privacy loss
- Bitcoin Core unlikely to add coin selection RPC
- Coin selection groups for privacy and consolidation
- Coin selection simulations