What Are Bitcoin Script and Smart Contracts?

People often say Bitcoin doesn’t have smart contracts the way Ethereum does. That’s true in spirit, but it undersells something real: every single Bitcoin transaction is already governed by a small program, whether you notice it or not.
Bitcoin Script is the programming language built into Bitcoin that defines the exact conditions under which coins can be spent. Every transaction output includes a small Script program specifying what’s required to unlock it — most commonly a valid signature matching a specific public key, but the language supports considerably more complex conditions.
Script is deliberately limited compared to general-purpose programming languages. It has no loops and cannot run indefinitely, which is a security feature — it guarantees every node validating a transaction can do so in a predictable, bounded amount of time. This is a very different design philosophy from Ethereum’s smart contracts, which support richer logic at the cost of more complex execution.
Despite its simplicity, Script enables genuinely useful conditions beyond ordinary payments: multisignature setups requiring several keys, time-locks that prevent funds from being spent until a certain block height, and hash-locks requiring a specific secret value to unlock funds — the building block behind Lightning Network payment channels.
Most everyday Bitcoin users never write Script directly — wallets generate standard patterns automatically. But understanding it exists explains a lot about what’s possible on Bitcoin beyond simple payments: escrow arrangements, inheritance planning with time-locked backup keys, and Lightning’s payment channels are all built from Script conditions.
Newer upgrades like Taproot have expanded what’s practical to build with Script while keeping transactions looking simple on-chain, extending its capabilities without abandoning the original design’s deliberate restraint.
Want to see a real example of Script in action — a multisignature wallet? Continue learning in the Bitcoin Academy.
