This tutorial will guide you through installing packages in the Labyrinth SDK, using it to create private transactions and send them to Labyrinth protocol contracts.


We only assume that you have at least basic knowledge of smart contracts and how they work.

Labyrinth Protocol

The protocol consists of smart contracts and ZK circuits to enable privacy. The most used function of the protocol which is invoked is the transact function. It is used for executing a private transaction which is represented by ZTransaction.

function transact(ZTransaction memory ztx) external;

A ZTransaction consists of many fields e.g. transaction type, zk proof, assets involved, compliance data, and many more. As you can guess, constructing a ZTransaction is not trivial but complex. That's where our SDK comes to the rescue.

Last updated