cnkit is a collection of scripts and configurations that allow to deploy and manage a Cardano stake pool as code, by making use of commonly used tools, while trying to adhere to best practices, and with the ultimate goal of helping to achieve a secure and highly available setup.

As it is shown in the architecture diagram, the idea is to control the stake pool from a private and protected network, where many services running in one or many systems take care of all the heavy lifting. This way, a new node can be deployed in almost no time by syncing the binaries and the database files, instead of using the common method of installing all the dependencies and compiling in the production server, that also requires to sync from zero all the database, process that can take up to a day. On the other hand, all the management of the pool is done from the protected systems, so cold keys are never stored in the public servers. The combination of these features makes it possible to update the nodes with less downtime and even implement a sort of automatic failover.

CNKIT is being created to share our experiences after the efforts we made to run our customers' staking pools in the best way we have been able to. In this direction we decided to make an additional effort to put everything together so it can be shared with the community. This process is taking a while, as everything needs to be double checked and documented. Be aware that everything is done in our spare time and offered for free. Please consider supporting us by contributing in any way.

CNKIT is comprised of three major components,


This repository provides a Vagrantfile and a set of scripts to automate the deployment in a virtual machine of the tools needed to follow the Plutus Pioneer Program. I created it to facilitate my own experimentation with the Playground and with the compiler directly from a shell, for learning purposes.

PPP-AWS (dev. scheduled for Q3 2022)

A set of scripts is being prepared to build images as AWS AMI in an automated way, with the objective to periodically upload them to the marketplace as a free resource for anyone to boot a remote Plutus Pioneer Program environment ready to use, with the only cost of the instance running time billed in seconds by AWS. This initiative is aiming to improve the experience to all the students who struggle with the initial environment setup, mostly due to limitations of software and hardware with their local computers, or for the ones that just don’t want to install an added pile of things to their environment.