Coins are outputs, not balances
Bitcoin has no account balance. Your wallet scans the chain for unspent transaction outputs (UTXOs) it can unlock and adds them up. Spending consumes whole UTXOs and creates new ones, including a change output back to you.
- •Balance = sum of your spendable UTXOs.
- •Fees = total inputs − total outputs (no separate fee field).
- •Bigger transactions cost more because fees are priced per vByte.
Script: locking and unlocking
Each output carries a locking script (scriptPubKey) describing the condition to spend it. The spender supplies an unlocking script or witness that satisfies it. Address prefixes tell you which lock type is used: 1… legacy P2PKH, 3… P2SH, bc1q… SegWit v0, bc1p… Taproot.
- •Script is intentionally limited: no loops, no global state.
- •SegWit moved signatures into a discounted witness area.
- •Taproot (bc1p) allows large, cheap witness payloads.
Ordinals and inscriptions
Ordinal theory assigns every satoshi a serial number so an individual sat can be tracked and traded. An inscription writes arbitrary data (image, text, JSON) into a Taproot witness and attaches it to a single sat — Bitcoin's NFT-like primitive. The data lives on-chain, which is why inscription waves spike fee markets.
Runes: fungible tokens the UTXO way
Runes encode fungible token supply and transfers in an OP_RETURN 'runestone' attached to normal Bitcoin transactions. Token balances ride on UTXOs instead of a separate ledger, so no off-chain indexer state is required for validity and no junk UTXOs are created the way BRC-20 minting did.
- •Etching: create a rune with name, divisibility and supply rules.
- •Minting: claim supply according to the etched terms.
- •Transfer: an edict in the runestone splits balances between outputs.
- •Lost runes: sending to an output you don't control burns them.
