# Quickstart

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

### Pre-requisites

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

### Veilnyx 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`.&#x20;

```solidity
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.
