The short answer
A Bitcoin outpoint is the pair of coordinates that identifies one transaction output. It contains a transaction ID, or txid, and an output index. The txid finds the transaction. The index selects one output inside it, starting from zero.
If a transaction creates three outputs, their indexes are 0, 1 and 2. The same txid with
index 0 and index 1 names two different outputs. Wallets and block explorers often show
this pair as txid:vout, where vout is the output index.
Where an outpoint appears
An ordinary transaction input says which earlier output it wants to spend. In
Bitcoin Core 32.1, checked on 4
November 2026, the released COutPoint definition
contains a transaction hash and a 32-bit index. The released CTxIn structure then stores
that outpoint as its prevout, meaning previous output.
The outpoint does not contain the amount, address or spending condition. Those belong to the referenced output. A node uses the outpoint to look up that output in its UTXO set, the set of outputs that have not been spent yet.
What the node still checks
Naming an output does not prove it is available. Bitcoin Core's released
CheckTxInputs code
first checks whether every referenced input exists and is unspent. A missing or already
spent outpoint makes the transaction invalid. The node then checks the amount and the
spending condition attached to the previous output.
This is why copying a txid is not enough when inspecting a transaction. The output index matters too. A wallet's coin-control screen is choosing specific outpoints, even when it labels them as coins or UTXOs. The transaction-reading guide shows where those references appear.
What people get wrong
An outpoint is an identifier, not proof of ownership and not a balance. Anyone can name one. Spending it still requires valid authorization under its script.
It is also not permanently spendable. Once a valid transaction consumes the output, that outpoint no longer names an entry in the active UTXO set. The coinbase transaction is the special case: its input uses a null outpoint because newly issued bitcoin does not spend an earlier output.
