A high-level language for Dune Network (and Tezos) with OCaml and ReasonML syntaxes, with a decompiler from Michelson

starsStars 138
forksForks 34
watchersWatchers 138
current-versionCurrent version v1.057
total-releasesTotal releases 8
open_issues_countOpen issues 14
dateFirst release 2017-10-16
dateLatest release 2020-06-23
updateLast update 2020-12-01
next master

Liquidity: a Smart Contract Language for Dune Network

Liquidity is a language to program Smart Contracts for Dune Network (and Tezos). It uses the syntax of OCaml (and ReasonML), and strictly complies to Michelson security restrictions. Liquidity is distributed under the terms of the GPLv3 license.

The Liquidity Project

The Liquidity project contains:

  • A compiler from Liquidity files (.liq extension) to Michelson
  • A de-compiler from Michelson files (.tz extension) to Liquidity
  • A Tezos client to deploy and interact with Liquidity contracts

The Liquidity Language

The Liquidity language provides the following features:

  • Full coverage of the Michelson language: anything that can be written in Michelson can be written in Liquidity.

  • Local variables instead of stack manipulations: values can be stored in local variables.

  • High-level types: types like sum-types and record-types can be defined and used in Liquidity programs.


The master branch contains the latest stable release. The next branch contains the upcoming version: the language on the next branch is for experimentation, and features may be modified before the next release.

Installation and Usage

See installation instructions and usage documentation.


Documentation can be found in the reference and many examples are in the tests and tests/others directories.


All features of Michelson are supported in Liquidity. All tests from can be decompiled to Liquidity and recompiled to Michelson.