> ## Documentation Index
> Fetch the complete documentation index at: https://nonci.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Set up your Nonci instance in under 5 minutes

### Prerequisites

* MongoDB instance, you can create a free on on [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)
* RabbitMQ instance, you can create a free one on [CloudAMQP](https://www.cloudamqp.com/)
* Node.js 16 or higher

### Setup

Firstly, clone the repository by running the following command -

```bash theme={null}
git clone https://github.com/nonci-xyz/api.git
```

Now, install the dependencies -

<CodeGroup>
  ```bash npm theme={null}
  npm i
  ```

  ```bash yarn theme={null}
  yarn
  ```

  ```bash pnpm theme={null}
  pnpm i
  ```
</CodeGroup>

Now run the `setup.sh` script -

```
./setup.sh
```

This will create an API secret and a keypair for the Nonci vault and populate a default `.env` file where you can add the MongoDB and RabbitMQ connection strings as well as make other changes like changing the RPC url.

The public key of your vault will be present in the `.env` file. Make sure to fund it with some SOL on the network you want to use in order to pay gas fees and rent for the Nonce accounts.

Now, you can run the API server by running the following command -

<CodeGroup>
  ```bash npm theme={null}
  npm run start
  ```

  ```bash yarn theme={null}
  yarn start
  ```

  ```bash pnpm theme={null}
  pnpm start
  ```
</CodeGroup>

You can also run the API server in development mode by running the following command -

<CodeGroup>
  ```bash npm theme={null}
  npm run dev
  ```

  ```bash yarn theme={null}
  yarn dev
  ```

  ```bash pnpm theme={null}
  pnpm dev
  ```
</CodeGroup>

Note that the API server also runs the worker process which listens for new transactions and processes them.

## Next steps

<Card title="Usage" icon="list" href="/usage">
  Use the Nonci API or SDK in your project to queue transactions
</Card>
