Bitcoin transactions & fees explained
UTXOs, the mempool, sat/vB and confirmations: what happens when you send bitcoin, how the network fee arises and what helps with stuck payments.
In short~34 sec
- 01Bitcoin has no account balances, only individual ‘coins’ (UTXOs). A transaction spends them in full and creates new ones – usually including change back to you.
- 02The network fee depends on the transaction’s size in vbytes, not on the amount. The fee rate is measured in sat/vB.
- 03Unconfirmed transactions wait in the mempool. Every further block adds security; for large amounts, six confirmations are the usual guideline.
- 04If a payment is stuck, RBF (raising the fee) or CPFP (a follow-up transaction with a high fee) can help.
- 05Confirmed transactions are irreversible. Check the address and amount before sending.
Good to read firstHow does Bitcoin work?
In your wallet, a Bitcoin payment looks like a bank transfer. But there is no account behind it, the fee does not depend on the amount, and a confirmed payment cannot be reversed.
Not balances but coins: the UTXO model
Bitcoin doesn’t keep accounts. Every transaction has inputs and outputs. An output that has not been spent yet is called a UTXOGlossaryUTXO (Unspent Transaction Output)An output of an earlier transaction that hasn’t been spent yet – like a single banknote in your wallet. Bitcoin has no account balances: your balance is the sum of all the UTXOs you can spend with your keys.On the learning path: Stage 5 · Step 4 – First withdrawal →In the glossary → (unspent transaction output). Each output can serve as an input exactly once – a second attempt would be a forbidden double spend.[1]
Think of UTXOs as banknotes: your balance is the sum of your notes. A note is always spent whole, and you get the rest back as change – which is why a transaction typically has two outputs.[2]
Worked example: your wallet holds two UTXOs of 300,000 and 200,000 sats. You pay 400,000 sats, i.e. 0.004 BTC ($320 at an illustrative price of $80,000 per BTC).
| Item | Amount |
|---|---|
| Input 1 | 300,000 sats |
| Input 2 | 200,000 sats |
| Total inputs | 500,000 sats |
| Output to the recipient | 400,000 sats |
| ‘Change’ output to a new address of yours | 97,910 sats |
| Difference = fee to the miner | 2,090 sats (≈ $1.67) |
There is no separate ‘fee’ line in the transaction: the fee is the difference between inputs and outputs.[3]
From sending to a block: the mempool
Your wallet signs the transaction and sends it to the network. Every node checks it and places it in its own mempoolGlossaryMempoolThe buffer in which a node collects valid but still unconfirmed transactions until a miner includes them in a block. There is no central mempool – every node keeps its own.On the learning path: Stage 5 · Step 4 – First withdrawal →In the glossary →, a waiting area for unconfirmed transactions – there is no central mempool. Miners prefer the transactions with the highest fee rate, because the fees go to them.[4] Once your transaction is in a block, it has its first confirmationGlossaryConfirmationA transaction has one confirmation as soon as it is in a block; each further block adds one. With every confirmation, it becomes harder to displace the payment after the fact.On the learning path: Stage 5 · Step 4 – First withdrawal →In the glossary →. The bigger picture is explained in How does Bitcoin work?.
How the fee arises: vbytes times sat/vB
A block can hold at most 4 million weight units.[5] Transactions bid for this scarce space with their feeGlossaryTransaction fee (network fee)The amount a Bitcoin transaction pays to the miner. It depends on the transaction’s size in vbytes and the fee rate offered – not on the amount you send.On the learning path: Stage 5 · Step 4 – First withdrawal →In the glossary →. It is made up of:
- Size in vbytes (virtual bytes): the weight divided by four; signature data counts for less.[5] The size depends on the number of inputs and outputs and on the address type, not on the amount.[3]
- Fee rate in sat/vBGlossarysat/vB (satoshis per virtual byte)Unit for the fee rate of a Bitcoin transaction: how many satoshis you pay per virtual byte of its size. The higher the rate, the sooner miners will include the transaction in a block.In the glossary →: how many satoshis you offer per vbyte. It determines your priority.[4]
Fee = size in vbytes × fee rate in sat/vB
A typical payment (one input, two outputs, bc1q… address) is around 141 vbytes; each additional input adds around 68 vbytes.[6] The worked example above (two inputs, ≈ 209 vbytes) therefore pays about 10 sat/vB. This is how the rate plays out at 141 vbytes (illustrative price $80,000 per BTC, currently $85,533; own calculation):
| Fee rate | Fee in sats | ≈ in dollars | Typical situation |
|---|---|---|---|
| 1 sat/vB | 141 | $0.11 | quiet network |
| 5 sat/vB | 705 | $0.56 | somewhat more demand |
| 20 sat/vB | 2,820 | $2.26 | busy network |
| 100 sat/vB | 14,100 | $11.28 | exceptional situation |
Current recommendation: 2 sat/vB for the next block, 1 sat/vB for confirmation within about an hour, 1 sat/vB if you’re in no hurry.[7] The values move with demand – check them right before sending. Rates below 1 sat/vB are possible too: since version 29.1 (September 2025), Bitcoin Core relays transactions from 0.1 sat/vB by default; not every wallet offers rates that low.[8]
Quick check
What does the network fee of a Bitcoin transaction depend on?
Fee = size (vbytes) × fee rate (sat/vB). The amount plays no role; many small inputs do, however, make a transaction larger.
What this looks like in a wallet
Sending, choosing a fee, speeding up if necessary
Illustrative example – real apps look different in detail.
Confirmations: how safe is ‘arrived’?
Only once your payment is in a block does it have a confirmation. Every further block on top makes it harder to displace it after the fact. According to the whitepaper, an attacker with 10% of the computing power has less than a 0.1% chance of success after five blocks.[2]
How long to wait is up to the recipient. The Bitcoin Developer Guide gives six confirmations – around an hour – as a guideline for large amounts, but calls the number itself ‘somewhat arbitrary’.[9] ExchangesTermExchange (crypto exchange)A trading platform where buyers and sellers trade bitcoin with each other via an order book.On the learning path: Stage 4 · Step 2 – Choosing a provider →In the glossary →AdLicensed providers with a paid linkProviders from our comparisonKrakenExchange · MiCA (Central Bank of Ireland)Visit Kraken (paid link, opens in a new window)No paid link for your countryNo partnership · Profile →BitvavoExchange · MiCA (AFM, Netherlands)Visit Bitvavo (paid link, opens in a new window)No paid link for your countryNo partnership · Profile →CoinbaseExchange · MiCA (CSSF, Luxembourg)Visit Coinbase (paid link, opens in a new window)No paid link for your countryNo partnership · Profile →BISONExchange · MiCA (BaFin, Germany)Visit BISON (paid link, opens in a new window)No paid link for your countryNo partnership · Profile →BitpandaExchange · MiCA (FMA, Austria)Visit Bitpanda (paid link, opens in a new window)No paid link for your countryNo partnership · Profile →All 7 compared – including non-partners →*Paid link: if you sign up or buy through it, we earn a commission. Your price stays the same. How we make money →18+ · Crypto assets are highly volatile; you could lose all your money. No deposit protection. set their own rules for deposits.
Stuck payments: RBF and CPFP
If the fee rate is too low and the network is busy, a payment can wait for hours or days. Two tools help:
- Replace-by-fee (RBF)GlossaryReplace-by-fee (RBF)A method of replacing a still-unconfirmed transaction with a new version that pays a higher fee. This lets you speed up a stuck payment, as long as it isn’t in a block yet.On the learning path: Stage 5 · Step 4 – First withdrawal →In the glossary →: you replace the unconfirmed transaction with a version that spends at least one of the same inputs and pays a higher fee.[10] Since version 28.0 (October 2024), nodes running Bitcoin Core accept this by default for any unconfirmed transaction, even without prior signalling.[11],[10]
- Child pays for parent (CPFP)GlossaryCPFP (Child Pays for Parent)A way to speed up a stuck transaction: a follow-up transaction (the ‘child’) spends one of its outputs and pays a high fee. It then pays off for miners to include both transactions together.On the learning path: Stage 5 · Step 4 – First withdrawal →In the glossary →: a new transaction spends an output of the stuck one and pays a high fee. A miner can only include the ‘child’ together with the ‘parent’, so it pays for them to confirm both.[12] This also works for the recipient.
Rule of thumb: RBF if your wallet supports it; otherwise CPFP, provided you control an output of the stuck transaction.[4] If a transaction is never confirmed, the bitcoin stay where they were; by default, Bitcoin Core drops it from its own mempool after two weeks.[13] Other nodes may keep it and rebroadcast it, though – so don’t simply send the same payment a second time.
Quick check
Your payment has been stuck unconfirmed for hours. What helps?
RBF replaces the transaction with one paying a higher fee; CPFP pulls it through with an expensive follow-up transaction. Sending again can mean paying twice – and there is no support desk that could step in.
Irreversible: no cancellation, no chargeback
Bitcoin relies on cryptographic proof instead of trust. Transactions are meant to be practically irreversible, to protect sellers from fraud.[2] For you, this means:
- Wrong address = money gone. No bank reverses the payment, no support team can step in.
- Fraud is not undone. Anyone pressuring you into a payment is counting on exactly that. More in Spotting & avoiding scams.
- Test amount first. Before a large payment to a new address, send a small amount and check that it arrives.
What’s next?
Frequently asked questions
Why is my Bitcoin transaction stuck?
Usually the fee rate is too low for current demand. Miners prefer transactions with a higher rate. You can wait, raise the fee via RBF or give it a push via CPFP – the latter also works for the recipient.
Can I get a Bitcoin payment back?
No. A confirmed transaction cannot be cancelled, and nobody can order a chargeback. Only the recipient can voluntarily send it back.
Does the fee depend on the amount?
No. The network fee is the transaction’s size in vbytes times the fee rate. With the same structure, $10 and $10,000 cost the same.
How long does a confirmation take?
On average, a block is found about every ten minutes. With a sufficient fee, your payment usually lands in the next block or the one after. How many confirmations a recipient waits for is up to them.
What happens if a transaction is never confirmed?
Then the bitcoin stay where they were. By default, Bitcoin Core removes unconfirmed transactions from its own mempool after two weeks. Other nodes or wallets may rebroadcast them, though – the matter is only settled once a new transaction spending the same inputs has been confirmed.
Your knowledge blockchain
Every article you complete becomes a block in your personal chain – stored only in your browser.
Sources13 sources · 6 publishers
The superscript numbers in the text refer to these sources.
- Bitcoin Developer Guide: Block Chain – Bitcoin Project (accessed 28/09/2026)
- Bitcoin: A Peer-to-Peer Electronic Cash System – Satoshi Nakamoto, 31.10.2008 (accessed 28/09/2026)
- Bitcoin Developer Guide: Transactions – Bitcoin Project (accessed 28/09/2026)
- mempool.space FAQ – The Mempool Open Source Project (accessed 28/09/2026)
- BIP 141: Segregated Witness (Consensus layer) – Bitcoin Improvement Proposals, 21.12.2015 (accessed 28/09/2026)
- Transaction size calculator – Bitcoin Optech (accessed 28/09/2026)
- mempool.space API: recommended fees (live) – mempool.space (accessed 28/09/2026)
- Bitcoin Core 29.1 Release Notes – Bitcoin Core, 04.09.2025 (accessed 28/09/2026)
- Bitcoin Developer Guide: Payment Processing – Bitcoin Project (accessed 28/09/2026)
- Topic: Replace-by-fee (RBF) – Bitcoin Optech (accessed 28/09/2026)
- Bitcoin Core 28.0 Release Notes – Bitcoin Core, 02.10.2024 (accessed 28/09/2026)
- Topic: Child pays for parent (CPFP) – Bitcoin Optech (accessed 28/09/2026)
- Bitcoin Core source code: kernel/mempool_options.h – Bitcoin Core (accessed 28/09/2026)
This article is for education only and is not investment, tax or legal advice.