SpeSC + : An End-User Readable Domain-Specific Language for Smart Legal Contracts
Xiao He, Tao Zan, Yan Zhu · ACM Transactions on Software Engineering and Methodology · 2026
Smart contracts are self-executing programs deployed on blockchains to enable automated and trustless transactions without intermediaries. However, existing smart contracts (e.g., those written in Solidity) resemble general-purpose programs rather than legal contracts, making them incomprehensible to non-technical users. To address this limitation, we present SpeSC + , a domain-specific language (DSL) designed for both readability and legal expressiveness. SpeSC + features a natural-language-like syntax and integrates domain-specific concepts for contractual logic, such as time expressions, parties and authorizations, and obligations and privileges. Unlike existing works that focus on utilizing natural languages for specification, we equip SpeSC + with a formally defined, Turing-complete semantics for precise execution, covering the entire execution process of a legal contract. We evaluated SpeSC + ’s expressiveness by implementing 35 real-world legal contracts across 10 business domains and 5 canonical Solidity examples. A controlled user study further demonstrated SpeSC + ’s superior readability over Solidity, particularly for users without programming expertise, without compromising expressiveness. We also measured the gas usage and detected vulnerabilities in the Solidity programs generated by the SpeSC + code generator. The evaluation results suggest that SpeSC + lowers the barrier to creating and understanding legally enforceable smart contracts.