TERM_DEF // TRANSACTION / OUTPUT
OUTPUT
Output. An (amount, scriptPubKey) pair created by a transaction; spendable later by a tx whose input references it.
This page sits in the Transaction section — How money moves: inputs, outputs, fees, signatures, sighash flags, and the formats that wrap them. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
This page sits in the Transaction section — How money moves: inputs, outputs, fees, signatures, sighash flags, and the formats that wrap them. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
WHAT_OUTPUT_IS
Output — at a glance
TRANSACTION
A transaction output creates a new "spendable parcel" of bitcoin. It has two parts: a value in satoshis and a scriptPubKey — the script/">locking script that specifies what conditions must be met to spend it later. Every BTC in existence is currently sitting in some output that has not yet been spent (a UTXO).
Why it exists
DESIGN
Outputs are how Bitcoin makes value transferable. Instead of editing balances in a database, a transaction destroys existing outputs and creates new ones. Each output is a self-contained, independently-spendable unit, which is what lets the chain be validated in parallel and lets wallets reason about their funds without coordinating with anyone.
HOW_IT_WORKS
Mechanism
HOW IT WORKS
An output is 8 bytes of value (little-endian satoshis) + a varint script length + the scriptPubKey bytes. The scriptPubKey is what defines the lock: P2PKH (paid to a pubkey hash), P2SH (paid to a script hash), P2WPKH/P2WSH (SegWit equivalents), or P2TR (Taproot). To spend, someone must produce a scriptSig/witness that, executed against the scriptPubKey on a stack machine, ends with a truthy value.
1. A sender chooses an amount + a recipient address; the wallet resolves the address into a scriptPubKey.
2. The output (value + scriptPubKey) is appended to a transaction.
3. Tx is signed, broadcast, mined. The new UTXO appears in every full node's UTXO set.
4. The recipient's wallet discovers the UTXO (by scanning its own addresses against the chain) and shows the new balance.
5. To spend, the recipient builds a new transaction that consumes this UTXO as one of its inputs.
6. The moment that spending tx confirms, the output is removed from the UTXO set — gone forever.
WORKED_EXAMPLE
A single output, byte for byte
EXAMPLE
value (8 bytes LE) : 80 f0 fa 02 00 00 00 00 = 50,000,000 satoshis
= 0.5 BTC
script_length : 19 (25 bytes)
scriptPubKey : 76 a9 14 <20-byte hash> 88 ac
│ │ │ │ │
│ │ └─ pubkey hash ──┘ └─ OP_CHECKSIG
│ └─ OP_HASH160
└─ OP_DUP
(This is a canonical P2PKH output paying 0.5 BTC to address 1<…>.)
Each output is independently:
– referenceable by (txid, vout) — its outpoint
– lockable to any standard or non-standard script
– worth its exact satoshi amount, no fractional spending
KEY_PROPERTIES
IMMUTABLE
Once created in a confirmed block, an output cannot be edited. It can only be spent (consumed entirely).
INDIVISIBLE
An output is spent as a whole unit. To send less than its value, the spender creates a change output back to themselves.
LOCKED BY SCRIPT
The scriptPubKey defines the spending conditions — a hash to match, a signature to verify, a timelock to wait out.
DUST-LIMITED
Outputs below the dust threshold (~330 sats for P2WPKH) are non-standard and won't relay through Bitcoin Core nodes.
COMMON_PITFALLS
Things that catch people out
PITFALLS
- An output is referenced by (txid, vout) — the "outpoint". A typo in either part is a typo on a different output entirely.
- Below ~330 sat outputs ("dust") are rejected from mempools by default. Don't create them unless you accept they may never confirm.
- An OP_RETURN output is provably unspendable — useful for data commitments, ruinous if used accidentally instead of a real address.
- Number of outputs in a tx is a privacy leak — exact-amount payments + change is a classic heuristic for spotting payment txs vs consolidation txs.
WHERE_YOU'LL_SEE_IT
Pages on this site that cover Output in more depth:
RELATED_CONCEPTS
Other terms from Transaction — click any to read its page:
TERMINOLOGY_INDEX
TERMINOLOGY
Output
An (amount, scriptPubKey) pair created by a transaction; spendable later by a tx whose input references it.
Transaction (Tx)
A signed payload spending one or more UTXOs and creating new ones; every state change in Bitcoin is a tx.
Raw Transaction
The hex-serialized bytes of a transaction, ready to broadcast or analyze.
Transaction ID (TXID)
HASH256 of a transaction's pre-witness serialization; used to reference outputs by (txid, vout).
wTXID (Witness TXID)
HASH256 of the full transaction including witness data; commits to signatures and used in the witness commitment.
Input
A reference to a previous output being spent, plus the data (scriptSig/witness) authorizing the spend.
UTXO (Unspent Transaction Output)
An output that hasn't been spent yet; your "balance" is the sum of UTXOs you can sign for.
UTXO Set
The complete set of currently-spendable outputs maintained by every node/">full node — Bitcoin's state.