# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veilnyx.com/veilnyx-sdk/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
