Welcome, Ethereum & Solidity Developers
Simplicity is a smart contract language built for UTXO-based blockchains like the Liquid Network, which puts it closer to Bitcoin Script than to the EVM's account model. Instead of a contract address holding shared, global state, you build covenants: rules that govern how a specific output can be spent and how state is passed from one UTXO to the next. Primitives like AMMs and limit order books are buildable this way, just structured differently than their EVM equivalents.
The architectural differences from Solidity that matter most are the absence of global state and of unbounded loops. Because there is no shared state, reentrancy does not apply. Every program's execution cost is statically bounded and known before a transaction is ever broadcast. The language's formal semantics also make it suitable for machine-checked proofs of contract behavior.
Where to go from here
- Quickstart: Make a first Simplicity transaction with the quickstart tutorial.
- Simplicity for EVM developers: Introduction to Simplicity for EVM Developers maps EVM concepts to Simplicity, with FAQs and a video on the architectural differences.
- Use cases: Simplicity use cases and demos, including complex financial applications built natively on-chain.
- Execution model: The UTXO execution model that structures Simplicity contracts, including how spending conditions are enforced without global state or account balances.
- Covenants and state: Covenants and state management, the UTXO equivalent of updating contract storage.
- Oracles: How oracles pass off-chain data into Simplicity contracts.
- Example code: Basic contract examples and more complex example contracts demonstrate SimplicityHL syntax and features. The SimplicityHL language documentation covers the full reference.
- Community: Join the Simplicity forum, Telegram group, or the weekly office hours calls.