As you become a more advanced user of Bitcoin, you might notice that some wallets allow you to pick and choose which coins you spend. Taking charge of your wallet like a pro via Coin Control allows for a number of benefits over just letting the wallet software do it automatically. It can save you from wasting sats on fees as well as help protect your privacy and security. So let’s dig in!
What Is Coin Control?
Coin Control is a feature that many Bitcoin Wallets have to help their users control which UTXOs (or coins) they want to use when they create a new transaction. For example, they may choose a 0.1 BTC coin and a 0.4 BTC coin when creating a transaction to send 0.5 BTC.
A good analogy are the notes and coins someone might have in their wallet. Each note and coin is totally separate and can be organised into different parts of the wallet. If you want to know the balance you simply add them all up. When you want to spend some money, you have control over which coins you chose to use. This is coin control.
In Bitcoin UTXO stands for Unspent Transaction Output. Each UTXO is a discrete, single output or spend that comes from a Bitcoin transaction similar to a $1 coin you might receive after buying something (a transaction).
Understanding Coin Control
Cryptocurrencies like Bitcoin that use the UTXO model don’t have any concept of an account or balance at the network level. Everything is UTXOs to the Bitcoin Network. When you use a Bitcoin Wallet and want to know what your balance is, it simply adds up all the UTXOs that you have the authority to spend.
Beyond the ability to see all your UTXOs and control which ones will (or won’t) be used in a new transaction, coin control can also include other sub features that make this task easier such as labeling of coins, searching of coins and even tagging of coins.
Automatic Coin Selection
Most wallets automatically pick which UTXOs are used each time a new transaction is created. Some use simple ways of doing this, others use more sophisticated methods. Some of the common approaches include:
- First In First Out (FIFO) / Last In, First Out (LIFO): Spends the oldest/youngest coins first
- Pruned FIFO: FIFO, but the smallest coins are filtered out in the post-selection step.
- High Priority First: Coins selected by priority, calculated by their value x their age
- Minimize Fees (Optimise Size): Spending the lowest number of coins to reduce fees
- Minimize Future Fees (Merge Coins): Spending the maximum number of inputs to merge coins as a single change output
- Target Sized Change: Minimise the value difference of the target input and change output
- Branch & Bound (BnB): Finds an input set equal in value to the target, avoiding change
- Blackjack: Accumulates inputs until the target value plus fees are matched
- Accumulative: Accumulates inputs until the target value plus fees are reached
UTXO management is very similar to coin control as it also deals with labeling, sorting and controlling of coins. While the two terms are often used interchangeably, UTXO management is generally used to describe long term management of how a person or company handles their coins. In contrast, coin control mainly relates to the ability to view and control which coins you select in a transaction.
For example, if a company constantly receives thousands of orders that are paid in bitcoins, each order will be sent to its own unique UTXO. Labeling, sorting and planning are needed to manage all these UTXOs in the most efficient way, especially over many years.
Bitcoin Transaction Fees are based on the size (in bytes) of the transaction, not how much value is being transferred like legacy systems. As a result, the more UTXOs or coins you have in a transaction the more kilobytes of block space it will take up and the more in fees it will cost you.
Learn More: How Bitcoin Transaction Fees Work
From a cost perspective, the fewer UTXOs you have in your wallet, the better. A transaction with a single UXTO of 1 BTC will be cheaper than another transaction that has ten UTXOs of 0.1 BTC as it has ten inputs vs only one.
Coin control can help reduce fees as you can fully control which UTXOs are put in the transaction. In times of high fees, you can select the UTXO with 1 BTC in it, reducing your fees as much as possible. Later on, once the Mempool quietens down a bit, you can then select the ten UTXOs of 0.1 BTC and consolidate them at a much cheaper rate.
Privacy & Coin Control
Another very important reason why you should only use wallets that have coin control is to ensure you don’t ruin your Bitcoin Privacy. When you consolidate or join UTXOs together, Chain Analysis firms can then infer that you most likely own all those UTXOs.
If you have some UTXOs that were sourced from KYC exchanges and are linked to your real world identity, it can be very damaging to then spend them in the same transaction as other non-KYC UTXOs. In general:
- Only consolidate KYC bitcoins with other KYC bitcoins
- Only consolidate non-KYC bitcoins with other non-KYC bitcoins
This will ensure you can reduce the number of UTXOs you have whilst still ensuring that your privacy and security stays as good as possible.
Coin Control In A High Fee Future
Many times in Bitcoins history the Mempool has gotten extremely busy making the fees you have to pay to transact sky rocket. While this usually happens in extreme bull markets due to all the trading, it’s possible that as Bitcoin adoption increases, so too will its fees.
This poses an interesting problem. Imagine you have a UTXO that has 10,000 sats in it. When the fee rate is 10 sats/vB sending this UTXO isn’t an issue as the total fee might be 1,500 sats to send it. As our UTXO has 10,000 sats in it, this is a high percentage (15%), but otherwise fine.
But what happens if we HODL it for multiple years. Over time Bitcoins adoption increases which in turn makes the mempool busier and the minimum fee increases to 100 sat/vB. Now it’s going to cost 15,000 sats to send the same transaction. We don’t have enough sats in the UTXO to send it meaning it’s essentially unspendable!
We can still add this 10,000 sat UTXO to another bigger UTXO and spend it that way, but if our wallet is full of lots of small UTXOs it can cause problems and end up costing you a ton in fees in the long run.
While this isn’t the biggest problem, it’s something to just keep in mind as your UTXO set grows over time. If you see you’re constantly building up heaps of very small UTXOs think about consolidating them when the mempool is nice and quiet just to clean things up a bit. Just remember to keep your privacy in mind.
Another excellent thing to consider for the future is how big each of your UTXOs are. While having fewer inputs will save you more fees, it can also be terrible for your privacy to just consolidate all of your coins into one big giant UTXO. This shows external observers common ownership and if you spend from that big UTXO in the future, the receiver can look back and see what your entire balance is.
Obviously what size UTXOs you keep will be different for everyone given everyone will have a different sized stash, but it’s considered good practice to have a number of different sized UTXOs in your wallet.
This is similar to how you probably don’t just carry around one $100 bill in your actual real world wallet. You instead probably have a few $5’s, a few $10s, maybe three 20’s, some coins or some sort of mix of big and small denominations in there. The same goes for your Bitcoin Wallet.
Don’t just have a single, massive 1 BTC UXTO, have a few 0.1 BTC, a few 0.05 BTC and maybe a 0.5 BTC UTXO as well. Like everything in life, you need a good balance.
Advanced Coin Control
As stated, coin control is a bit of an umbrella term that also includes many other sub features depending on what wallet you’re using and how they implement it. At its most basic level, coin control allows the user to view and specify which UTXOs they use in a transaction.
Most wallets also allow for basic labeling of the UTXOs so that you can note down things like where you obtained it from or whether it’s KYC and thus, linked to your real world identity or not. One of the most advanced coin control implementation is by Nunchuk wallet. Their advanced coin control features include things like:
- Labels: Some wallets support just a simple few characters, while theirs allows for URLs or the ability to automatically inherit the label from thier parents transaction
- Search: This allows the user to search through all their coins for a specific label or tag
- Coin Locking: Allows the user to lock a specific coin so that it’s never used in a transaction
- Tags: A way to group and sort your various coins just like you might tag and sort your emails. They can have tag colors, their own label and coins can have multiple tags assigned to them
- Meta Data: This is where the wallet will show all the information about each coin such as when it was created, its specific amount in sats or fiat etc
If you’re simply buying a few sats every now and then to Invest In Bitcoin long term, you might not have too many UTXOs. However if you’re someone that’s buying a lot of sats, say every week, or are a business receiving and spending in bitcoins then coin control as well your general UTXO management becomes much more important.
Finally there’s the issue of backing up. While you should already be backing up your Private Keys, this only helps you to recover your funds, not any labels you might have added over the years to your wallet.
While most good wallets allow you to export or backup your UTXO labels, it’s still done differently depending on what wallet software you’re using. For example, if you’re using Sparrow Wallet and want to transfer all your UTXO labels over to Nunchuk, you can’t. You’d have to manually enter them all in again from scratch.
Thankfully, the developer of Sparrow (Craig Raw) has proposed a new BIP to address just this: Wallet Labels Export Format (BIP-0329). This BIP outlines a standard way that all wallets can adopt in order to ensure there’s full export and import compatibility for coin control labels going forward.
Hopefully it gets adopted by all the major wallet makers as coin control is something that will only become more important as the years go by. Luckily you can now use it to its fullest potential and save on fees both now and in the future.