Welcome, Bitcoin Developers
Welcome to the next evolution of building on Bitcoin.
If you're familiar with Bitcoin Script, you know its strengths: it's secure, predictable, and heavily battle-tested. But you also know its limitations for expressing detailed rules, or arrangements that live longer than a single transaction. When you want to build highly expressive decentralized applications, complex covenants, or advanced vault protocols, you often hit a wall with Script's limited opcode set and the workarounds required to push its boundaries.
Enter Simplicity. Simplicity is a new blockchain programming language designed as a next-generation alternative to Bitcoin Script. Currently available for the Liquid Network (and designed with future Bitcoin integration in mind), Simplicity gives you maximum expressiveness without sacrificing the predictability you expect from Bitcoin. It achieves this by basing programs on a minimalist set of functional combinators. This means you can compute any bounded function, all while guaranteeing that the exact computing resources required are calculated before execution. No unpredictable fees, and no unbounded loops.
Simplicity offers you tools to represent and enforce complex financial agreements and instruments as on-chain smart contracts, in line with Bitcoin architecture and philosophy. And the SimplicityHL language lets you write this logic in a familiar and highly readable Rust-like syntax.
Imagine building a highly secure, non-interactive vault that features multi-party approvals, hardware wallet integration, time-locked withdrawals, and a sophisticated protocol for emergency key recovery. With Simplicity, you can encode all of this logic into a covenant, expressed in an easy-to-read high-level language, running natively on-chain.
Where to go from here:
- Deploy your first smart contract: Try our quickstart tutorial to make your first Simplicity transaction ("pay-to-public-key" implemented in SimplicityHL) in minutes.
- Beyond Bitcoin Script: See how Simplicity programs define execution conditions within the UTXO model you already know, but with major new capabilities like introspection.
- Unlock new primitives: Learn to build programmatic vaults and advanced constraints by reading up on covenants and state management and oracles in Simplicity. Check how jets expose transaction details and efficiently perform complex calculations.
- See what's possible: Explore what Simplicity can do with Simplicity use cases and demos.
- Learn the language: Dig into simple contract source code that demonstrates SimplicityHL language syntax and features, and more complex example contracts with frameworks for running demos. The SimplicityHL language documentation is here when you need it.
- Connect with the community: Join our Telegram group or weekly office hours calls to discuss your projects and questions with other adopters and the Simplicity team.