Learn

|

How-to

How to manage UTXOs

Follow best practices to save on fees and enhance privacy

When you take self-custody of your bitcoin, you gain full control over your funds—but with that comes the responsibility of managing UTXOs (Unspent Transaction Outputs).

A UTXO represents a specific, discreet amount of bitcoin that you’ve received, but have not yet spent.

Each time you receive a bitcoin payment, a new UTXO is created, and when you make a transaction, one or more UTXOs are selected as inputs and are consumed. Effectively managing your UTXOs can help you optimize transaction fees, preserve privacy, and maintain the flexibility to spend your bitcoin when you need it.

If you use a custodial service like Strike, UTXO management is handled for you behind the scenes. Strike lets you buy or sell bitcoin without recording those transactions on Bitcoin’s public blockchain. When you decide to send bitcoin off-platform, such as to a self-custody wallet, your accumulated purchases are combined into a single UTXO and delivered to your specified Bitcoin address.

In the future, when it comes time to spend that bitcoin, your new transaction will use that UTXO as its input. Understanding how to handle UTXOs can affect fee costs, transaction efficiency, and privacy can help you avoid common mistakes.

If you’re unfamiliar with UTXOs or how they work, read this explanation before proceeding.

UTXO management best practices

When you’re ready to take self-custody of your bitcoin, it’s important to follow best practices regarding the timing, sizing, frequency, and location for your transactions.

1. Avoid UTXOs that are too small

Small UTXOs can become uneconomical to spend when transaction fees rise. For example, if you have a UTXO of only 10,000 satoshis, the fee required to use that UTXO as an input could exceed its value during a period of high fees. To avoid this, it’s recommended to keep your UTXOs above 1 million satoshis (₿0.01), particularly for long-term or cold storage. This ensures that even in high-fee environments, your UTXOs remain spendable without eating into their value.

2. Avoid UTXOs that are too large

Holding all your bitcoin in a single large UTXO can compromise privacy. When you use a large UTXO for a transaction, the recipient can see the input amount and the excess change sent back to one of your addresses, potentially revealing your total holdings. By breaking down large UTXOs into smaller and varied sizes, you can enhance your privacy and give you more flexibility when selecting inputs for future transactions.

3. Diversify your UTXO sizes

Maintaining a mix of UTXO sizes in your wallet gives you more flexibility. For example, having a few UTXOs of ₿0.01, some of ₿0.1, and others of ₿0.5 gives you flexibility to choose appropriately sized inputs for different transactions. This helps minimize the amount of change that’s sent back to your wallet and can reduce transaction size, ultimately saving on fees. It also allows you to better match the input size to the amount you need to send, avoiding unnecessary complexities.

4. Use separate UTXOs for different sources

Keeping UTXOs from different sources separate can help protect your privacy. For example, if you have some bitcoin from non-KYC (Know Your Customer) sources, it's best to avoid mixing those with UTXOs from KYC services. This makes it harder for someone to trace the origin of your funds when you spend them, maintaining a clearer distinction between different sources. This practice prevents linking your transactions in a way that could expose more of your financial history.

5. Consolidate UTXOs when fees are low

During periods of low transaction fees, it’s a good idea to consolidate smaller UTXOs into larger ones. This involves creating a transaction that uses multiple small UTXOs as inputs and combines them into a single larger UTXO as the output. Many wallets allow you to choose which inputs to use, along with setting a custom fee rate. Consolidating when fees are low prevents you from ending up with too many small UTXOs, which can be costly to spend during high-fee periods.

Remember, sending multiple transactions to a single Bitcoin address does not combine them into a single UTXO; instead, each payment creates a separate UTXO that’s linked to that address. Consolidating UTXOs means selecting multiple UTXOs as inputs for a single transaction, which can have one or more outputs, resulting in fewer, larger UTXOs for easier future management.

6. Time your transactions

Bitcoin transaction fees can vary significantly based on network activity. If your transaction isn’t time-sensitive, it can be beneficial to wait for periods when fees are lower to avoid overpaying on fees. However, it’s important to strike a balance, as waiting too long could lead to missed opportunities if fees rise further.

You can monitor fee rates here, but be aware that fee rates are expected to rise over the long-term as Bitcoin adoption grows.

7. Use Lightning for smaller transactions

For small, everyday transactions, consider using the Lightning Network instead of regular “on-chain” transactions. Lightning allows you to make bitcoin payments instantly and with minimal fees by using off-chain channels, avoiding the need to manage UTXOs directly. It’s a great way to keep your on-chain transactions to a minimum, which can help reduce the complexity of managing UTXOs in your wallet.

8. Avoid reusing addresses

Reusing addresses can make it easier for others to trace your UTXOs and see your financial history. Each time you use an address, it links any UTXOs received at that address, making your activities more traceable on the blockchain. Using a new address for each transaction helps maintain privacy by making it harder for observers to follow the flow of your funds. Many wallets allow you to automatically generate a new address for each incoming transaction, making this best practice easy to follow.

For Bitcoin address creation and management, follow these best practices.

9. Select the right address format for fee optimization

Choosing the appropriate address format can help you reduce fees when managing UTXOs. Using Bech32/SegWit addresses (which start with “bc1”) or Taproot addresses (which start with “bc1p”) can lower your transaction costs compared to older formats like P2PKH (which start with “1”) or P2SH (which start with “3”).

Bech32 and Taproot addresses use more efficient encoding and have smaller transaction sizes, which means they require less blockspace and thus pay lower fees. When setting up a new wallet, opting for a SegWit or Taproot-compatible address can help you optimize costs when it comes time to spend in the future.

The Importance of UTXO Management

Effectively managing your UTXOs allows you to spend your bitcoin more economically, no matter what happens with future fee rates. When fees are high, having well-sized UTXOs can save you money, while consolidating smaller UTXOs when fees are low helps keep your wallet efficient. Good UTXO management also enhances privacy by making your on-chain activities harder to trace, preserving our financial privacy.

Remember, Bitcoin transactions are irreversible, so mistakes–like using the wrong UTXO in your transaction or sending to the wrong address–cannot be undone. It’s important to understand how UTXOs work and plan your transaction carefully.

Lightning

What is the Lightning Network?

The global bitcoin payments network that’s instant, private, and low-to-no cost

Business

What is the Strike widget?

Add a “Buy bitcoin” button to your app

Bitcoin

What is the bitcoin supply schedule?

The pre-programmed pace from zero to 21 million

Markets

What is the Bitcoin halving?

The automatic reduction in Bitcoin’s supply-issuance rate

Lightning

What is a Lightning invoice?

Bitcoin payment requests within the Lightning Network

Lightning

Using Bitcoin to send money abroad

Bitcoin's Lightning Network makes global money transfers faster and cheaper

© 2024 NMLS ID 1902919 (Zap Solutions, Inc.)

Get off zero.

Strike

BitcoinAll in on bitcoinPaymentsSend GloballyBusinessAPI

Platform