The OutPoint Coordinate
The OutPoint: TXID and VOUT
To identify a specific piece of bitcoin in the multi-terabyte history of the blockchain, Bitcoin uses a 36-byte structure called an OutPoint.
1. Defining the OutPoint
An OutPoint is the unique coordinate of a UTXO. It consists of two pieces of data:
-
TXID (32 Bytes): The unique ID of the transaction that created the output.
-
VOUT (4 Bytes): The index of the output within that transaction (starting at 0).
2. Why Two Fields?
A single transaction can have dozens or even hundreds of outputs.
-
If you only provided the TXID, the network wouldn't know which specific output you were spending.
-
The VOUT (Output Index) acts as the specific "slot" number.
3. Storage in the Input
In the raw hex of a transaction, the OutPoint is the very first thing listed for each input.
-
It is stored in Little-Endian.
-
This means the 32-byte TXID and the 4-byte VOUT are both reversed in the raw binary data.
4. The Genesis Case (Coinbase)
The only time an input does not point to a previous transaction is in a Coinbase Transaction.
-
In a coinbase input, the TXID is 32 bytes of zeroes (
0000...). -
The VOUT is
0xffffffff(4.2 billion). This special OutPoint signals to nodes that this transaction is creating new bitcoin, rather than spending old bitcoin.
| Component | Format | Size |
|---|---|---|
| TXID | Double-SHA256 Hash | 32 Bytes |
| VOUT | Unsigned Integer | 4 Bytes |
| Total | Raw Coordinate | 36 Bytes |
[!NOTE] Every full node maintains a "UTXO Set" (Chainstate) indexed by OutPoints. This allows the node to verify an input instantly without searching the entire blockchain.
In the next section, we will explain how the TXID itself is calculated.
TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation: