
In BSV, Spending Means Consuming Old UTXOs and Creating New Ones
In BSV, spending does not update a balance. It consumes old UTXOs and creates new ones. Understanding this model helps explain payments, change, transaction chains, and the basic logic behind tokens and application state transitions.
Ethan Lin
technical_editor
In BSV, spending does not mean “updating an account balance.” It means using a transaction to consume existing UTXOs and create new UTXOs.
That is the core idea behind the UTXO model. Ordinary payments, change outputs, transaction chains, tokens, and application state transitions can all be understood from this starting point.
A UTXO Is Not an Account Balance
In an account-based model, a transfer is often understood as a balance update:
The UTXO model works differently.
If Alice has a 100-satoshi UTXO and wants to pay Bob 30 satoshis, the system does not reduce that UTXO from 100 to 70. Instead, the transaction will:
- consume Alice’s 100-satoshi UTXO as an input;
- create a 30-satoshi output for Bob;
- create a change output back to Alice;
- leave the remaining amount as a transaction fee.
After the transaction is confirmed, the original UTXO is marked as spent. What Alice can use later is not the “reduced” old UTXO, but the newly created change UTXO.
A Concrete Example
Suppose Alice currently has one UTXO:
Alice wants to pay Bob 30 satoshis, and the transaction fee is 1 satoshi. A simplified transaction structure would look like this:
After confirmation:
UTXO A: 100is spent and cannot be used again;- Bob receives a new
30 satoshisUTXO; - Alice receives a new
69 satoshischange UTXO; - the miner receives a
1 satoshifee.
So the process is not “changing Alice’s balance from 100 to 69.” It is “consuming one old UTXO, creating two new UTXOs, and leaving a fee.”
Why an Old UTXO Must Be Consumed in Full
A UTXO can be thought of like a banknote. You cannot directly reduce the face value printed on a banknote. You hand over the note and receive change.
The UTXO model follows similar logic: a UTXO is either unspent or spent. It is not partially modified.
This design provides several important properties:
- clear transaction history;
- traceable provenance for each UTXO;
- more explicit double-spend checks;
- easier parallel validation;
- the ability to express state transitions through transaction chains.
At the same time, it requires developers and wallets to handle additional details, such as change, UTXO selection, and UTXO fragmentation.
One Transaction Can Consume Multiple Old UTXOs
A transaction does not have to contain only one input, and it does not have to contain only one output. It can consume multiple old UTXOs and create multiple new UTXOs at the same time.
For example, Alice’s wallet may contain three UTXOs:
Now Alice needs to pay 90 satoshis, with a fee of 2 satoshis. The wallet can choose to consume A, B, and C, for a total input value of 110 satoshis, and then create:
After the transaction is complete, the old UTXOs A, B, and C are all spent. The recipient’s 90-satoshi output and Alice’s 18-satoshi change output become new UTXOs.
Change Is Part of the Model, Not Just an Implementation Detail
Many beginners think of change as a wallet implementation detail. In the UTXO model, however, whenever the total input amount is greater than the intended payment plus the fee, the remainder must be returned through a new output.
If no change output is created, the difference between the inputs and outputs becomes part of the transaction fee.
So when constructing transactions manually, this equation must be explicit:
This is also a basic rule that BSV application developers need to understand.
New UTXOs Can Form Transaction Chains
A new UTXO created by one transaction can be spent by a later transaction.
For example:
This forms a transaction chain.
In BSV applications, many state updates can be expressed using this chained structure. For example, a credential, token, or business state can be updated by consuming the old state UTXO and creating a new state UTXO each time.
State Transitions in BSV Applications
BSV is not only a payment system. It is also often designed as a network for data and application state. The UTXO pattern of “consuming old state and creating new state” is suitable for expressing many business processes, such as:
- token transfers;
- digital credential updates;
- contract state progression;
- supply chain event changes;
- application record version updates.
Each state change can be represented by a transaction, with history that is naturally traceable.
However, this does not mean that simply writing data on-chain automatically creates a good application experience. Real applications usually also need supporting protocol design and Overlay indexing; otherwise, on-chain records can be difficult for applications to query and use efficiently.
Common Beginner Misunderstandings
When learning the UTXO model, it is useful to avoid these common misunderstandings:
- Spending does not modify the amount of an old UTXO;
- once an old UTXO is spent, it cannot be used again;
- change must be created as a new output;
- the difference between the total input value and the total output value is the transaction fee;
- a transaction can consume multiple old UTXOs and create multiple new UTXOs;
- state transitions can be represented with UTXO chains, but they require clear protocol rules.
References
Recommended articles
BlockchainMay 26, 2026
One Address Can Have Many UTXOs: Understanding Addresses, Balances, and Transaction Construction in BSV
In BSV’s UTXO model, an address is not an account or a single balance slot. The same address can be associated with multiple UTXOs, and a wallet balance is simply the sum of those outputs. Understanding this is essential for transaction construction, fee handling, UTXO fragmentation, and privacy.
BlockchainMay 26, 2026
What Is a UTXO? Understanding the Foundation of the BSV Transaction Model
A UTXO, or “unspent transaction output,” is the basic unit of the BSV transaction model. A wallet balance is not an on-chain account field, but the sum of controllable UTXOs. Understanding UTXOs helps explain BSV inputs, outputs, change, fees, double-spending, Script, and parallel processing.
BlockchainMay 26, 2026
Endian Issues in BSV Transaction Debugging: Why TXIDs Can Look Reversed
Endian is a common byte-order issue when debugging BSV transactions, especially in raw transactions, TXIDs, outpoints, numeric fields, and Merkle proofs. Understanding the difference between display format and serialized bytes helps avoid false “TXID mismatch” or “proof calculation failed” conclusions.