Why Bitcoin Doesn't Have Smart Contracts

Bitcoin deliberately uses a non-Turing-complete scripting language — not because smart contracts weren't possible, but because the tradeoff was intentional. Here's the mechanism behind that design choice.
Lewis Jackson
CEO and Founder

What You're Actually Looking At

If you've spent any time around Ethereum, smart contracts are the thing that makes DeFi, NFTs, and decentralized apps possible. So why doesn't Bitcoin — the original, most valuable, most battle-tested blockchain — have them?

The answer isn't that Bitcoin's developers couldn't figure it out. Satoshi built Bitcoin with an intentionally limited scripting language. Bitcoin does have a scripting system — called Bitcoin Script — but it was deliberately designed to be simple and non-Turing-complete. That choice reflects a specific theory about what a money layer should be able to do, and what it shouldn't.

Understanding the difference between Bitcoin Script and Ethereum's EVM tells you something real about how these two networks think about risk, programmability, and what "good enough" means.

The Mechanism

Bitcoin has a scripting language. Every transaction includes a script — a small program defining the conditions under which funds can be spent. The most basic version checks: does this signature match this public key? Multi-signature setups, timelocks, and hash-lock conditions are all expressible with Bitcoin Script.

What Bitcoin Script doesn't have is loops. No recursion. No way to write a program that runs indefinitely — or one where you can't tell in advance how long it'll run. That's the definition of Turing-incomplete: the language lacks the constructs needed to compute anything computable. This is deliberate.

The reason this matters is the halting problem. Turing-complete languages can express programs where you can't determine in advance whether they'll terminate. In most software this is manageable. In a blockchain context — where every full node must execute every program to validate the chain — it's structural. A single malicious infinite loop could hang every node on the network.

Ethereum's solution is gas. Every computational step costs gas; transactions have a gas limit; when the limit is hit, execution stops. This works, but it adds complexity: every contract execution has a metered cost, errors can occur mid-execution, and you need a market mechanism to price computation. The attack surface for contract vulnerabilities — reentrancy, integer overflow, logic errors — scales with how much logic contracts can express.

Bitcoin's designers accepted a different tradeoff: give up programmability to eliminate that entire class of risk. Bitcoin Script has no loops, predictable termination, and a small number of operations. You know exactly what it can and can't do. That predictability is load-bearing for a system storing hundreds of billions of dollars.

The second piece is the UTXO model. Ethereum tracks state as account balances — each address has a balance that gets updated. Bitcoin works differently: coins exist as unspent transaction outputs, which are created, held, and consumed entirely when spent. There's no persistent storage attached to a UTXO. It carries a script, gets verified, and gets consumed — no ongoing state between transactions.

Smart contracts in the Ethereum sense depend on persistent storage: a contract address with code and state readable and writable across multiple transactions. Bitcoin's UTXO model doesn't have that natively. You'd need a layer on top to handle it.

Where the Constraints Live

The constraints are in two places. First, in the Bitcoin protocol itself — specifically in the Script interpreter, which hard-codes the set of valid opcodes. Expanding Bitcoin's scripting capabilities requires a soft fork that miners and nodes accept. The community has done this carefully (Segwit in 2017, Taproot in 2021) but moves slowly by design.

Second, in the ethos of the Bitcoin developer community, which skews conservative. Most Bitcoin Core contributors view programmability expansion skeptically — introducing a contract vulnerability class into the base layer is seen as worse than not having the feature. That's not irrational; the base layer holds over $1 trillion in stored value with no recourse if something breaks.

What's Changing

Three developments are shifting the Bitcoin programmability picture, none of which change the base layer's Turing-completeness status.

Taproot (2021) — already live — introduced Tapscript and key-path/script-path spending. Complex conditional scripts now look like single-signature transactions on-chain, and new constructs like cooperative channel closings became easier. It's not smart contracts, but it expanded Bitcoin's expressiveness without touching the fundamental design constraint.

Bitcoin Ordinals and inscriptions (2022–present) use Taproot to attach arbitrary data to individual satoshis. BRC-20 tokens followed as a crude fungible token standard using inscription-based bookkeeping. There's no on-chain enforcement of token logic here — these aren't smart contracts — but they demonstrated demand for programmability on Bitcoin that the community hadn't fully anticipated.

BitVM (Robin Linus, 2023) is the most structurally significant development. BitVM enables arbitrary computation on Bitcoin through optimistic verification — similar to how optimistic rollups work. Computation happens off-chain; only disputes get settled on-chain. This opens a theoretical path to Bitcoin-anchored smart contract systems without modifying Bitcoin Script itself. Still early, but technically credible and under active development.

None of these make Bitcoin a smart contract platform. They're workarounds at different layers that route around the base protocol's intentional constraints.

What Would Confirm This

BitVM-based rollups handling real volume on mainnet. Increased use of Taproot script-path spends in Lightning and DLC (Discreet Log Contract) applications. A self-sustaining secondary market for Ordinals/BRC-20 that outlasts the initial speculation cycle.

What Would Invalidate It

A Bitcoin soft fork adding meaningful on-chain programmability — something like OP_CAT re-enablement enabling covenant-based contracts. Active proponents exist within the Bitcoin community. If a fork activates with broad consensus, the "Bitcoin doesn't do contracts" framing needs significant revision.

Timing

Now: Bitcoin's scripting limitations are stable and functioning as designed. Lightning Network and Taproot represent the live frontier of what Bitcoin can express on-chain.

Next: BitVM's development trajectory will clarify whether Bitcoin-anchored rollups become a real programmability layer or remain a research curiosity. This is a 1–2 year window.

Later: Whether the Bitcoin community eventually accepts covenant-enabling opcodes (OP_CAT, OP_CHECKTEMPLATEVERIFY) is the multi-year open question with genuine uncertainty on both the technical and social consensus sides.

A Note on What This Is

This post describes how Bitcoin Script works and why Turing-completeness was excluded by design. It's not a verdict on whether Ethereum's approach is better, or investment advice about BTC vs ETH. Both represent legitimate positions on the programmability-security tradeoff. The mechanisms are observable; which tradeoff is "right" depends on what you're building — and what you're trying not to break.

Related Posts

See All
Crypto Research
New XRP-Focused Research Defining the “Velocity Threshold” for Global Settlement and Liquidity
A lot of people looking at my recent research have asked the same question: “Surely Ripple already understands all of this. So what does that mean for XRP?” That question is completely valid — and it turns out it’s the right question to ask. This research breaks down why XRP is unlikely to be the internal settlement asset of CBDC shared ledgers or unified bank platforms, and why that doesn’t mean XRP is irrelevant. Instead, it explains where XRP realistically fits in the system banks are actually building: at the seams, where different rulebooks, platforms, and networks still need to connect. Using liquidity math, system design, and real-world settlement mechanics, this piece explains: why most value settles inside venues, not through bridges why XRP’s role is narrower but more precise than most narratives suggest how velocity (refresh interval) determines whether XRP creates scarcity or just throughput and why Ripple’s strategy makes more sense once you stop assuming XRP must be “the core of everything” This isn’t a bullish or bearish take — it’s a structural one. If you want to understand XRP beyond hype and price targets, this is the question you need to grapple with.
Read Now
Crypto Research
The Jackson Liquidity Framework - Announcement
Lewis Jackson Ventures announces the release of the Jackson Liquidity Framework — the first quantitative, regulator-aligned model for liquidity sizing in AMM-based settlement systems, CBDC corridors, and tokenised financial infrastructures. Developed using advanced stochastic simulations and grounded in Basel III and PFMI principles, the framework provides a missing methodology for determining how much liquidity prefunded AMM pools actually require under real-world flow conditions.
Read Now
Crypto Research
Banks, Stablecoins, and Tokenized Assets
In Episode 011 of The Macro, crypto analyst Lewis Jackson unpacks a pivotal week in global finance — one marked by record growth in tokenized assets, expanding stablecoin adoption across emerging markets, and major institutions deepening their blockchain commitments. This research brief summarises Jackson’s key findings, from tokenized deposits to institutional RWA chains and AI-driven compliance, and explains how these developments signal a maturing, multi-rail settlement architecture spanning Ethereum, XRPL, stablecoin networks, and new interoperability layers.Taken together, this episode marks a structural shift toward programmable finance, instant settlement, and tokenized real-world assets at global scale.
Read Now

Related Posts

See All
No items found.
Lewsletter

Weekly notes on what I’m seeing

A personal letter I send straight to your inbox —reflections on crypto, wealth, time and life.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.