Skip to content
buybitcoinsmart

Glossary / Transactions & fees

Bitcoin transaction

Also known as Transaction.

Definition
A bitcoin transaction is a signed instruction that destroys some existing coins and creates new ones in their place, which is the only way value ever moves on the network.

Nothing in bitcoin holds a balance. The ledger is a set of unspent outputs, a payment consumes whole outputs and mints replacements, and whatever is left over goes to the miner as a fee. The first one ever made moved 10 bitcoin from Satoshi Nakamoto to Hal Finney in block 170 on January 12, 2009, and like every one since it could not be recalled.

How it works

A bitcoin transaction is a short binary structure with six parts, and the wallet assembles all of them before anything is broadcast.

The version is 4 bytes. Version 1 was the original; version 2 exists because BIP68 gave sequence numbers a new meaning for relative timelocks, and modern wallets set it by default. Then come the inputs, each naming one previously created output and carrying proof of the right to spend it. Then the outputs, each holding an amount in satoshis and a locking script that states who may spend it next. SegWit transactions add a witness section holding the signatures, which sits outside the part that determines the transaction id. Last is the locktime, 4 bytes, usually set to the current block height so a transaction cannot be pulled into an earlier block.

There is no fee field anywhere in that structure. The fee is arithmetic: total input value minus total output value, and whatever you fail to assign to an output is handed to whoever mines the block. This is why a wallet bug that miscalculates change can throw away real money, and why every wallet builds a change output back to itself rather than leaving a remainder.

Signing binds the whole thing together. Under the default SIGHASH_ALL rule, each signature commits to every input and every output, so altering a single satoshi of a single output invalidates every signature on the transaction. That is what makes a broadcast transaction final in content, if not yet in confirmation.

Size is measured in virtual bytes rather than raw bytes, because SegWit discounts witness data to a quarter of its weight, and blocks are capped by a budget of 4 million weight units. A one input, two output native SegWit spend comes to roughly 141 virtual bytes.

Why this matters when you buy bitcoin

Two completely different things get called "sending bitcoin" on an exchange, and only one of them is a transaction.

Moving coins between accounts inside the same platform is a database update. It is instant, usually free, and leaves no trace on the blockchain, because no transaction was made. Withdrawing to an address you control builds a real transaction, pays a real fee, waits for a real block, and is the only version that ends with you owning bitcoin rather than owning a claim on a company.

Once you withdraw, three practical consequences follow.

You cannot cancel it. Replace-by-fee lets the sender bump a fee while a transaction is unconfirmed, but only the wallet that built it can do that, and an exchange will not do it on your behalf. Check the address before you approve, not after.

Every deposit you receive becomes a coin you will pay to spend later. Ten small buys leave ten outputs, and a future payment that has to spend all ten costs several times what one large output would. Withdrawing in fewer, larger amounts is the cheapest habit in bitcoin, and it costs nothing to adopt.

The fee your exchange charges is a policy number, not the network fee. It is set in advance and rarely tracks the mempool, so on a quiet day you may pay several times the true cost and on a busy one considerably less. The exchange reviews on this site record how each venue handles withdrawals, and the ones that let you choose your own fee rate are worth preferring.

Reading a real withdrawal, field by field

Say you buy 0.05 BTC and withdraw it. What appears on a block explorer will probably confuse you, because the transaction is not yours alone.

Large exchanges batch. A single withdrawal transaction might spend 3 inputs from the hot wallet, worth 2.41 BTC in total, and create 42 outputs, one of which is your 0.05 BTC and one of which is the change coming back to the exchange. At roughly 68 virtual bytes per input, 31 bytes per output, and about 11 bytes of overhead, that transaction is close to 1,517 virtual bytes. At a fee rate of 6 sat/vB the miner receives about 9,102 satoshis, which works out at roughly 217 satoshis for each customer in the batch. Sent on its own, your withdrawal would have been about 141 virtual bytes and cost about 846 satoshis.

So the explorer shows a transaction moving far more bitcoin than you withdrew, with dozens of recipients you have never heard of. Nothing is wrong. Find your own output by amount and address, note the transaction id, and ignore the rest.

Bitcoin transaction vs txid

A transaction is the object; a txid is its fingerprint. The id is a double SHA-256 hash of the serialized transaction excluding witness data, written as 64 hexadecimal characters, and it exists so that the transaction can be referenced without being repeated. Support desks ask for the txid, explorers index by it, and later transactions point at it. What it is not is a receipt: a txid proves that a transaction with exactly that content exists, and says nothing about who sent it or why.

Bitcoin transaction vs PSBT

A PSBT is a transaction that is not finished yet. The format, defined in BIP174, carries the inputs and outputs plus the extra information a signer needs, such as the value and script of each input being spent, and it travels between devices rather than across the network. Air-gapped and multisig setups depend on it: an offline signer reads the PSBT, adds its signature, and hands it back. Only once every input is signed does the file get finalized into a transaction the network will accept, and until that moment nothing has been sent.

Not to be confused with

Frequently asked questions

Can a bitcoin transaction be cancelled or reversed?

No. Once it confirms, nothing but a chain reorganisation could undo it, and that has never happened at any meaningful depth. While it is still unconfirmed the original sender can replace it with a higher fee version, but a recipient or an exchange cannot.

Why does my withdrawal show a much larger amount than I withdrew?

Because exchanges batch. Your payment is one output among dozens in a single transaction that also carries the exchange's change, so the total moved bears no relation to your amount. Find your own output by its address and value.

How long does a bitcoin transaction take?

Blocks arrive about every ten minutes on average, so a transaction paying a competitive fee usually confirms within one or two of them. A transaction paying below the current mempool rate can wait hours or days until fee pressure drops.

What is the difference between the exchange withdrawal fee and the network fee?

The network fee goes to the miner and is set by supply and demand for block space. The withdrawal fee is the exchange's own charge, fixed by policy, and it may be far above or below what the transaction actually cost to send.

Read next

Related terms

More in Transactions & fees