Skip to main content

Output | Bitcoin Glossary | Mapping Bitcoin

Output

Protocolo

Also known as: transaction output, txout

A component of a Bitcoin transaction that specifies an amount of bitcoin and the spending conditions (locking script) required to use it. Unspent outputs (UTXOs) represent the current distribution of all bitcoin in the system.

Overview

A transaction output is one of the fundamental components of a Bitcoin transaction. Each output specifies two things: an amount of bitcoin (denominated in satoshis) and a locking script (scriptPubKey) that defines the conditions under which those funds can be spent. Once created, an output exists as a UTXO (Unspent Transaction Output) until it is consumed as an input in a future transaction.

Output Structure

Transaction Output:
┌─────────────────────────────────────┐
│  Value: 50,000 satoshis (0.0005 BTC)│
│                                     │
│  Locking Script (scriptPubKey):     │
│  OP_DUP OP_HASH160                  │
│  <pubkey_hash>                      │
│  OP_EQUALVERIFY OP_CHECKSIG         │
└─────────────────────────────────────┘

A transaction can have multiple outputs:
  Output 0: 0.5 BTC  → Recipient
  Output 1: 0.3 BTC  → Change back to sender
  (Remaining: 0.001 BTC implied fee)

Outputs and the UTXO Set

The set of all unspent transaction outputs at any given time — known as the UTXO set — represents the complete state of bitcoin ownership. Unlike account-based systems, there are no "balances" in Bitcoin. Instead, a wallet's balance is the sum of all UTXOs it can spend.

Change Outputs

When spending a UTXO that contains more bitcoin than the intended payment, the sender must create a change output that returns the excess to themselves (minus the transaction fee). Failing to include a change output would result in the difference being entirely consumed as a miner fee.

Input:  1.0 BTC (from a previous output)
Output 0: 0.3 BTC → Recipient
Output 1: 0.6999 BTC → Change (back to sender)
Fee:      0.0001 BTC (implicit: input - outputs)

Common Misconceptions

A common mistake is conflating outputs with addresses. An address is simply a human-readable encoding of the locking script conditions. Multiple outputs can use the same address (though this is discouraged for privacy). Also, the transaction fee is not an explicit output — it is the implicit difference between total inputs and total outputs.