Definition
Simplicity is a low-level, typed functional programming language for blockchain smart contracts, first envisioned in 2012 by Blockstream researcher Russell O'Connor. It is designed to be an alternative to Bitcoin Script that is small, analyzable, and amenable to mathematical proof. As of 2026, Simplicity is deployed in production on the Liquid Network (announced July 2025) but is not part of Bitcoin mainnet consensus; using it on Bitcoin would require a future soft fork. We present it neutrally as an active research-and-deployment effort.
Design
Simplicity is built from a small set of combinators and is deliberately Turing-incomplete: it can express any finite computation but disallows unbounded loops. This restriction enables static analysis, so the resource cost of a program can be bounded before it runs. Its formal semantics are specified in the Coq proof assistant, allowing contracts to be mathematically verified correct before execution, an approach O'Connor demonstrated with a formally verified SHA-256 implementation written in Simplicity.
Why it matters for Bitcoin
Proponents argue that a verifiable language could let high-assurance contracts be proven safe rather than merely tested, reducing the exploit risk seen in more expressive ecosystems. Skeptics note the steep learning curve and the maturity bar for any base-layer change. For now, Liquid serves as a live proving ground for the language ahead of any Bitcoin discussion.
Simplicity is one of several efforts to broaden Bitcoin's contracting surface, alongside covenant opcodes like OP_CHECKCONTRACTVERIFY and computation schemes like BitVM2.
In Simple Terms
Simplicity is a low-level, typed functional programming language for blockchain smart contracts, first envisioned in 2012 by Blockstream researcher Russell O’Connor. It is designed to…
