Programmable money
We usually think of money as dumb — it just sits there and waits to be spent. Bitcoin is different. Every coin carries a small built-in language that spells out who may spend it and under what conditions. It is money you can program.
Conditions, not just balances
When you receive Bitcoin, it isn’t simply “assigned” to you — it’s locked behind a little script: a set of conditions that must be satisfied to spend it. Usually the condition is just “prove you hold the matching private key” by providing a signature. But it can be far more. The multisig from the last lesson is nothing more than a script that says “require 2 of these 3 signatures” — your first taste of programmable money.
Run the script yourself
Every spend runs a tiny stack-based program: the coin’s locking script (the conditions) plus the spender’s unlocking script (the proof). The two run back to back, and if the stack ends with TRUE, the coins move. Pick a template below — including the 2-of-3 multisig — and Step through it to watch items push and pop. The signature checks are real ECDSA, running right in your browser.
Script — unlocking, then locking
Stack — top highlighted
What you can build
- Timelocks. Coins that cannot be moved until a chosen date or block height — savings you commit to leaving untouched, or an inheritance that unlocks automatically after a long period of inactivity.
- Escrow. A 2-of-3 between a buyer, a seller and a neutral arbiter, so two strangers can complete a trade without either having to trust the other with the money up front.
- The Lightning Network. Instant, tiny, near-free payments are built on Bitcoin scripts that let two people transact off-chain and settle on-chain only when they’re done — programmable money making Bitcoin fast enough to buy a coffee.
Deliberately limited
Bitcoin’s scripting is intentionally not a do-anything programming language — and that’s a feature, not a shortcoming. Simpler scripts are easier to verify, far harder to get catastrophically wrong, and keep the whole network predictable and secure. Bitcoin chooses to do a few things extremely safely over everything at once and riskily. It’s money first, and a computer second.
“Money you can program” sounds abstract until you notice that a bank account can do none of this without the bank’s permission and paperwork. With Bitcoin, the rules travel with the coins themselves and are enforced by the whole network — not granted, and never revoked, by any company.
Scripts, channels, timelocks — this is money that does what you program it to. To wield all of it without asking anyone’s permission, though, you’ll want to run the machinery yourself. Next: standing up your own Bitcoin node.
Key takeaways
- Every coin is locked behind a small script setting the conditions to spend it — usually ‘prove you own the key’, but it can be much more.
- Timelocks, escrow and the Lightning Network are all built on Bitcoin scripts; the language is deliberately limited for safety.
Check yourself
What is ‘programmable money’ in Bitcoin?
Multisig, timelocks and Lightning are all just spending scripts on the coins.
Why is Bitcoin’s scripting deliberately limited?
Bitcoin favours doing a few things very safely over everything riskily.
Spotted an error or have feedback on this lesson? Suggest a correction ↗
Comments
Powered by Nostr — reply from any Nostr client, and zap the lesson over Lightning.