Balzac is an high-level language for writing transactions, verifying their correctness,
and compiling them into actual Bitcoin transactions. It is based on the formal model proposed in [AB+18FC].
You can also use Balzac to design Bitcoin smart contracts [AB+18POST].
Some examples are given at the end of this tutorial.