A Bitcoin transaction is a signed instruction that transfers control of bitcoin from one address to another.
When you send bitcoin, you are not transferring a balance. You are consuming specific amounts of bitcoin you control and creating new ones. Those new amounts can be sent to one or more recipients, and/or returned to an address you control if there is any remainder. The Bitcoin network validates this instruction without any bank or institution involved, and records it permanently for anyone to verify.
What Happens When You Send Bitcoin?
When you send bitcoin, three things happen in sequence.
-
You identify the amounts you are spending and where they are going.
-
You sign the transaction with your private key to prove you control those amounts.
-
You broadcast the signed transaction to the Bitcoin network.
Bitcoin does not operate the way a bank account does. When you transact with a bank account, your balance is debited and the recipient's is credited in a coordinated updating of bank databases.
Bitcoin transactions work more like physical cash. Imagine your physical wallet holds a $20 bill and you need to pay someone $15. You hand them $20, and they give you a $5 bill in return. With physical cash, amounts exist as discreet units that are transacted, rather than a balance that is debited and credited.
Bitcoin uses the UTXO Model
Bitcoin works in a similar way to physical cash. Each amount of bitcoin exists as a discrete amount called an "unspent transaction output," or UTXO. UTXOs, sometimes called "coins", are the outputs from previous transactions, that have not yet been spent. What your Bitcoin wallet app shows as a balance is actually the sum of all UTXOs it controls.
Like physical cash, spending a UTXO means spending the whole thing. You can't spend half of a $20 paper note. If you control a UTXO worth 0.05 bitcoin and want to send 0.03, you must spend the entire 0.05. The transaction creates two new UTXOs: 0.03 to the recipient and roughly 0.02 back to you as "change."
The change would not be exactly 0.02, because a transaction fee is paid to the miner. Most Bitcoin wallet apps will send your change to a fresh Bitcoin address that you control rather than back to your original address, for privacy and security purposes.
Transactions Have Inputs and Outputs
Every transaction has two components.
-
Inputs: One or more specific UTXOs being spent, identified by the transaction that created them and their position within it. Some Bitcoin wallets let you select your inputs, whereas others select for you.
-
Outputs: One or more new UTXOs being created, each specifying a destination address and an amount. A transaction typically produces at least two outputs: one to the recipient and one back to the sender as change.
The transaction fee is not explicitly listed as an output, rather it is implied. The fee is the difference between the total value of all inputs and the total value of all outputs. If inputs total 0.05 bitcoin and outputs total 0.049 bitcoin, the miner collects 0.001 bitcoin. The fee is whatever is not assigned to an output.
Authorization and Digital Signatures
Before a transaction is broadcast, it must be authorized. The sender's private key is used to produce a digital signature attached to the transaction. Without this signature, the network cannot verify that the person spending a UTXO actually controls it.
The signature proves two things: that the private key holder approved this specific transaction, and that the transaction has not been modified since signing. The private key never appears in the transaction itself. Only the signature and the corresponding public key are included, which is enough for any node to verify authorization without learning the private key. What are private keys and public keys? covers how this works in full.
Once signed, the transaction is broadcast to the Bitcoin network. Nodes receive the transaction, check that the inputs reference real UTXOs, and that the signatures are valid, then relay it onward. Within seconds, the transaction has reached nodes across the network. Even though the transaction has been received and validated by nodes, it remains unconfirmed.
How Are Bitcoin Transactions Confirmed?
A broadcasted transaction does not confirm automatically. It enters the "mempool," a collection of valid unconfirmed transactions that nodes hold while waiting for a miner to include them in a block. Blocks have limited capacity, so transactions must compete for block space. The confirmation process works as follows.
-
Mempool: your transaction gets verified and enters the mempool, where it waits alongside every other unconfirmed transaction.
-
Miner selection: miners review the mempool and select transactions for the next block. They typically prioritize by fee rate: higher fee rate means more revenue per unit of block space, so higher-rate transactions get picked first.
-
Block production: a miner assembles selected transactions into a block and races to find the winning number that makes the block valid. This is the "lottery-style competition" at the heart of Bitcoin mining: miners use energy and resources to find a number that meets the target criteria and win the right to add the block and collect its rewards. What is Bitcoin? covers how this works in more detail.
-
Confirmation: the winning miner broadcasts their proposed block. Every node validates it independently and adds it to their copy of the blockchain. The transactions inside are now confirmed: their input UTXOs are permanently spent and their output UTXOs are available to be spent in future transactions.
Block Capacity and Fee Rates
Every Bitcoin block has a maximum capacity, measured in virtual bytes (vbytes). This limit is intentionally small so that standard consumer computers can operate as full nodes in the network, storing the entire transaction history of Bitcoin and verifying new ones as they arrive. Keeping the block size small ensures the cost of running a node is accessible for more people, which keeps the network decentralized.
A transaction's size depends on how much data it requires, not the amount of bitcoin being sent. A transaction with one input and two outputs is simple and compact. One combining a dozen UTXOs and sending to multiple recipients requires considerably more virtual bytes of data.
Fees and sats/vbyte
Fees are measured in satoshis per vbyte (sats/vbyte), with a "satoshi" meaning a 100 millionth of a bitcoin. The more data the transaction requires, the greater the fee amount to be paid. A transaction offering a higher rate is more profitable for a miner to include, which is why miners select by fee rate rather than by the amount of bitcoin being transferred.
When a transaction has been confirmed in a valid block, it is said to have "one confirmation". Each subsequent block added on top of that block adds an additional confirmation. The more blocks built on top, the more computational work would be required to reverse the transaction.
For everyday small amounts, one confirmation is what most people treat as practical finality. For larger transactions, six confirmations is the conventional threshold, since the accumulated work is enough to make reversal computationally prohibitive. The right number depends on the amount and your risk tolerance.
How Long Does a Bitcoin Transaction Take?
Bitcoin targets one new block approximately every ten minutes. Under normal conditions, a transaction with an appropriate fee confirms in the next block, which takes around ten minutes. During periods of high demand, transactions with lower fee rates may wait longer.
Two things determine how long a specific transaction waits.
-
Mempool congestion: how many other transactions are competing for block space at the same time. When the mempool is nearly empty, almost any fee rate gets included in the next block, whereas when demand is high, only the highest rates get picked quickly.
-
Your fee rate: how attractive your transaction is to miners relative to everything else waiting. Transactions with lower fee rates fall behind during congestion and may wait through several blocks before being included.
Most wallet software estimates the appropriate fee rate based on current mempool conditions. Following that estimate under normal conditions results in confirmation within one to three blocks, typically ten to thirty minutes.
Confirmation is also probabilistic, not guaranteed. A transaction with an appropriate fee is very likely to confirm in the next block, but not certain. You can check the status of any transaction at any time on a block explorer like mempool.space by searching for its transaction ID or Bitcoin address.
What Is a Transaction ID?
Every Bitcoin transaction has a unique identifier: its transaction ID, or TXID. It is the permanent public record of that transaction, and anyone can use it to verify that a payment occurred.
The TXID is a unique identifier computed from the transaction data itself. Any change to the transaction produces a completely different TXID, making it tamper-evident by design.
Once confirmed, the TXID is permanent. Anyone with it can look up the transaction on a block explorer like mempool.space and see:
- The inputs consumed and the outputs created
- The fee paid to the miner
- The block the transaction was included in
- How many confirmations it has received
You can also search by bitcoin address to see all transactions associated with that address. No account, login, or permission is required to search Bitcoin's transaction history, since the record is public.
Related articles
What is Bitcoin?
The definitive peer-to-peer electronic cash system: what it is and how it works
What are private keys and public keys?
The cryptographic keys that authorize transactions
What is a Bitcoin wallet?
What a wallet actually is, how it manages keys, and the difference between custodial and self-custodial options
What gives Bitcoin value?
The monetary properties that underpin Bitcoin's role as a savings instrument