All articles

What is a UTXO?

Introduction


UTXOs (Unspent Transaction Outputs) are a core component of the Bitcoin blockchain. Understanding UTXOs is key to grasping how Bitcoin and other UTXO-based blockchains function. Since Bitcoin is the largest cryptocurrency—and the largest UTXO-based blockchain—this article will explain UTXOs in the context of Bitcoin.
 

If you self-custody your funds, managing UTXOs effectively is essential. Improper UTXO management can lead to higher transaction fees over time and may unintentionally link your Bitcoin holdings to your identity on the blockchain. If on-chain privacy and minimizing fees is a priority for you, UTXOs are invaluable for you to understand.
 

As with many topics in cryptocurrency, UTXOs can seem complex at first until you actually start to get some experience. Don’t worry about the technical jargon; focus on how UTXOs function in practice, and you’ll be a UTXO expert in no time!
 

What is a UTXO?


When Satoshi Nakamoto invented Bitcoin in 2008, he introduced a new system called the UTXO model to track and manage transactions.
 

The UTXO model manages Bitcoin ownership by dividing amounts into clear, spendable “chunks” that users can send to each other, rather than simply transferring funds from one account to another. A UTXO can be any size, depending on the transaction.
 

Satoshi drew on ideas from two earlier technologies to create UTXOs:
 

  • Reusable Proof of Work (RPOW) by Hal Finney, which inspired the idea of creating “units” of digital money that can be saved and spent.
  • Hashcash by Adam Back, which introduced a way to securely verify actions on a network without a central authority.


By combining these ideas, Satoshi built the UTXO model, allowing Bitcoin to function without needing account balances while remaining decentralized.
 

UTXOs resemble cash transactions in a physical wallet, which is important if you don’t want to reveal your entire balance to the world! If you want to send some Bitcoin in Trezor Suite, you can pick & choose which UTXOs you want to send using Coin Control instead of revealing the balances of all your addresses. This is an advanced feature, and if you don’t use Coin Control, Trezor Suite will automatically select UTXOs to send.
 

Simply think of a UTXO as an amount of Bitcoin that your wallet controls. Your wallet can hold multiple UTXOs, and the total sum of all the UTXOs in your wallet equals your Bitcoin balance. Each UTXO is like a separate “piece” of Bitcoin you can spend.
 

Your wallet can have multiple addresses, and each address can hold multiple UTXOs. If you want to send someone some Bitcoin, you can use an address only for that purpose, protecting your privacy and making sure the receiver can’t see your full balance because it is spread across multiple addresses.
 

How do UTXOs work in Bitcoin transactions?

 

Imagine you create a new Bitcoin wallet, generate an address, and someone sends you 1 BTC. You’ll now have one UTXO worth 1 BTC in your wallet—simple enough, right?
 

Now, let’s say another friend sends you 0.5 BTC in a second transaction. You want to maintain your privacy so your friend doesn’t see that you own 1 BTC already, so you generate a new address and your friend sends you 0.5 BTC there.
 

Your wallet balance is now 1.5 BTC, but it’s made up of two UTXOs in two addresses: one worth 1 BTC and another worth 0.5 BTC. You can compare this to a physical wallet containing two cash bills.
 

Let’s say you want to send 0.75 BTC to someone else. In this case, your wallet would select the 1 BTC UTXO, spend 0.75 BTC of it, and return the “change” of 0.25 BTC to a change address within your own wallet (more on this below).

Alternatively, you could decide to send the full 1.5 BTC to someone else. In this case, your wallet would combine the UTXOs into one UTXO worth 1.5 BTC, and you wouldn’t get any change.
 

In the above example, once you do this, both parties will be able to see that you had 1.5 BTC at one point because you sent funds from both addresses.

 

What is a change address?


A change address works similarly to receiving change when you pay with cash. When you use a UTXO for a transaction, any leftover amount—your “change”—is sent back to your wallet, but typically to a new, automatically generated address within the same wallet. This keeps your wallet organized and secure.
 

Using our example, after sending 0.75 BTC, your wallet will create a new 0.25 BTC UTXO as change, which is assigned to a change address within your wallet. Now, your wallet controls two UTXOs - one worth 0.25 BTC and the original UTXO worth 0.5 BTC.
 

So, your balance is now 0.75 BTC and your wallet balance remains accurate, just like if you’d paid with cash and received change.
 

Keep in mind that the above examples are simplified and don’t account for transaction fees. In reality, the amount of each transfer will be slightly less due to the fees. We’ll get into this a bit later.
 

Bitcoin’s UTXO model vs. Account model: key differences


The UTXO model was foundational to Bitcoin and has since been adopted by many Bitcoin-inspired projects like Cardano, Litecoin and Dogecoin. In 2015, Ethereum introduced a different approach with an account-based model, which has since become popular due to its simplicity and scalability. Since the account based model is a bit easier to understand, we’ll start there:
 

Account-Based Model


In an account-based model, transactions work similarly to a bank transfer. When one user sends cryptocurrency to another, the sender’s balance decreases, and the recipient’s balance increases within a single account. Each wallet tracks its total balance, which is updated with each incoming or outgoing transaction. This streamlined structure makes account-based blockchains like Ethereum and Solana more user-friendly and efficient than Bitcoin.
 

UTXO-Based Model


The UTXO model, on the other hand, is more comparable to cash in a physical wallet. Just as you might have different cash bills in your wallet, each representing a portion of your funds, UTXO-based wallets hold multiple “units” (UTXOs). When you pay with a UTXO, only that specific amount is revealed, keeping your total balance private from the recipient. By using separate UTXOs and addresses, UTXO-based blockchains enable selective privacy, allowing you to control how much information is shared with each transaction.
 

While UTXOs offer stronger privacy controls, they require more management and are less scalable than account-based models. This complexity, along with the efficiency of direct account balance updates, is a reason why most newer blockchains favor the account-based model for ease of use and scalability.
 

How are UTXOs created and used?


As we discussed in the example above, UTXOs (Unspent Transaction Outputs) are created each time a transaction is sent to your wallet. Here are some common ways UTXOs can be created:
 

Sending a full UTXO to someone else

When you send an entire UTXO to someone else, the original UTXO is "spent" and effectively destroyed. A new UTXO, with the same amount (minus transaction fees), is created in the recipient’s wallet.
 

Sending a transaction worth less than a single UTXO

If you send someone an amount smaller than an existing UTXO in your wallet, your transaction will generate two new UTXOs. The recipient will receive a UTXO for the amount sent, while the remaining balance will be returned to you as a new UTXO at a change address within your wallet.
 

Sending a transaction worth multiple UTXOs

If the amount you’re sending requires multiple UTXOs to meet the total, your wallet will add together enough UTXOs to cover it. Trezor Suite will automatically select the optimal number of UTXOs to reduce fees.

The combined UTXOs will create a new UTXO for the recipient. If the total of these UTXOs exceeds the amount sent, the leftover balance (change) will be returned to you as a new UTXO at a change address.
 

Sending your entire balance

When you send your entire balance, all the UTXOs in your wallet will be combined into a single UTXO for the full amount, which is then sent to the recipient. Users sometimes do this to send their entire balance to an address they control. This process is known as UTXO consolidation, which we’ll cover in more detail in the next sections.
 


Understanding Bitcoin fees and UTXOs


Bitcoin has a fee structure which is based on data. Every time you send a transaction, you’re transmitting data to the blockchain, paying a fee to ensure your transaction is prioritized by miners. Approximately every 10 minutes, miners process a new block with a capacity of about 1 MB.


Miners prioritize transactions with higher fees. Since network traffic fluctuates, fees also vary—during busy times, fees rise, while quieter periods allow for lower fees. Most wallets give you the option to choose a lower fee for delayed processing if you’re willing to wait.


Here’s where it gets tricky: your wallet holds multiple UTXOs, each UTXO adds data to the transaction. Sending a single UTXO isn’t costly, but if your transaction uses many UTXOs and you need it processed quickly, the larger data size requires a higher fee.

 

When network traffic is high, a large transaction with multiple UTXOs could incur fees exceeding $1000 in BTC.


To avoid excessive fees, it’s best to perform a UTXO consolidation during low-fee periods.
 

What is UTXO consolidation?


UTXO consolidation is a process where you combine multiple UTXOs by sending them to yourself, resulting in a single, larger UTXO. This can simplify future transactions and reduce fees. You can easily do this in Trezor Suite using the Coin Control feature which we’ll cover a bit later.


Before you do a UTXO consolidation, you should be aware of the impact your on-chain privacy a UTXO consolidation has. It’s very important to understand these privacy considerations before consolidating your UTXOs. Make sure to read the next section carefully to avoid unintentionally revealing information about your holdings.
 

The importance of UTXOs in Bitcoin security and privacy


UTXOs are a powerful tool for maintaining on-chain privacy. Since your wallet can control multiple addresses, you can withdraw funds to a different address each time you receive Bitcoin—whether from an exchange withdrawal or a personal transaction. This helps ensure that no single address reflects your entire balance, making it harder for others to track your holdings.
 

The privacy risks of UTXO consolidation


A poorly planned UTXO consolidation can undo your privacy efforts and reveal your total balance on the blockchain. Here’s how it works:


Imagine you regularly buy Bitcoin and withdraw it to a new address each time. Over time, your wallet accumulates a few UTXOs that aren’t linked to each other, keeping your true balance private.


Now, suppose you also have a side hustle and take Bitcoin payments. Let’s say you run a YouTube channel where you post a Bitcoin address for donations, and some viewers have sent small amounts to that address. Each donation creates a separate UTXO, creating a single address with small amounts of BTC and a high number of UTXOs, which is not ideal for withdrawing in a high fee environment.


At some point, you may think about consolidating your UTXOs to save on transaction fees, especially after hearing about rising network fees. To do so, you wait for a low-fee period, then consolidate all your UTXOs into a single, large UTXO.


By consolidating all UTXOs at once, you inadvertently reveal your entire Bitcoin balance to the blockchain. Now, anyone who sent you a donation, or anyone interested in your YouTube channel’s address, can easily see your combined balance. This is an irreversible action and may lead to future privacy and security concerns once your holdings are publicly known.
 

How to consolidate UTXOs securely


To protect your privacy, consolidate UTXOs selectively. In the example above, you could consolidate only the UTXOs from donations, keeping them separate from your personal savings. This way, you preserve the privacy of your main balance while still managing UTXOs efficiently.
 

It’s generally best to avoid combining all your funds into a single UTXO. Keeping your balance spread across multiple UTXOs allows you to manage privacy more effectively. By selectively spending from larger UTXOs, you can avoid higher fees and maintain a layer of privacy.
 

What is Bitcoin dust and why is it important?


Small transactions sent to your wallet are known as dust. Dust UTXOs can result from sending a transaction that leaves a small remainder, or from accepting very small Bitcoin payments. In these cases, you can typically consolidate your dust UTXOs during a low-fee period without issue.
 

However, if you receive a dust UTXO from an unknown source, be cautious—it could be part of a dusting attack. In a dusting attack, an attacker sends a tiny amount of Bitcoin to your wallet, hoping you’ll eventually consolidate it with other UTXOs. This allows the attacker to track movements across addresses and potentially identify your total balance.
 

To protect your privacy:
 

  • Only consolidate UTXOs you recognize. If you’re unsure about the origin of a dust UTXO, it’s best to leave it unspent to avoid linking it with other UTXOs.
  • For public addresses, consolidate UTXOs only on that address. Avoid mixing UTXOs from your public address with private ones, as this can reveal your total balance.


Following these practices helps safeguard your on-chain privacy and prevents unintended exposure of your Bitcoin holdings.
 

How to manage UTXOs using Trezor Suite


Trezor Suite allows you to use the Coin Control feature to selectively send and consolidate certain UTXOs. If you have a lot transactions spread across different wallets, it is critical for you to understand how Coin Control works.


If you’ve never heard of Coin Control before but have used Trezor Suite for a while, that’s because it is an advanced feature that is generally automated unless you choose to interact it.

For more information about Coin Control, please read this article.
 

Choosing the right wallet for UTXO management


When searching for a good wallet to store your Bitcoin, the ability to interact with specific UTXOs is a critical feature. Trezor Suite allows you to select individual UTXOs with the Coin Control feature, bringing you total control over your UTXOs.
 

How to get started with UTXO management


Prevention is the best cure when it comes to UTXO management. Understanding how UTXOs work can help you avoid mistakes and enhance your success when transacting on-chain. Here are a few key principles to follow:
 

  • Keep UTXOs above 0.01 BTC: This helps maintain manageable transaction sizes and can reduce fees.
  • Consider privacy before combining UTXOs: Combining multiple UTXOs in one transaction can reveal more about your holdings. Think carefully about privacy before consolidating.
  • Watch for dust UTXOs: Dust UTXOs—small, unsolicited transactions—can be used to track your funds if accidentally consolidated. Be cautious with unknown, small-value UTXOs.
 

By following these principles, you’ll improve your on-chain privacy and develop good habits which may prevent a situation in the future where poor UTXO management will negatively impact you.
 

Conclusion


UTXO management may seem complex initially—and it can be! However, as you gain experience using individual UTXOs and start consolidating them or sending them to others, managing UTXOs will become more practical and intuitive. With hands-on experience, you’ll develop a clear understanding of how you interact with your wallet and other users on the Bitcoin blockchain, which is essential for managing your funds effectively.
 

Are you ready?


Get started now with UTXO management by using the Coin Control feature in Trezor Suite. If you aren’t a Trezor user yet, check out our product lineup and know that when you buy a Trezor device, your UTXOs are fully in your control!