The End-to-End Release Candidate is a feature-freeze, and signals the version of the blockchain protocol that we want to go live with. The Release Candidate includes various libraries, which together form the E2E Release Candidate.

This page is a collection of the libraries included in the E2E Release Candidate.

Zero-Knowledge Virtual Machine


Immutable Storage

MicroKelvin (link)

Microkelvin is the first toolkit specifically engineered for making advanced zero-knowledge friendly data structures easy to implement. It is a foundational component optimized for the storage of data within confidential as well as public smart contracts.

System level

Canonical (link),
HAMT (link), nStack (link)
Together, Canonical and MicroKelvin are the system level bundle, managing how data is stored on-chain. HAMT and nStack utilize the stack to enable developers to create efficient smart contracts, optimized for zero-knowledge cryptography.

Zero-Knowledge proof System

PLONK (link)

PLONK is the zero-knowledge proof system used by Dusk Network. PLONK features an updatable reference string, constant verification times and concise (proofs are ~1kb).

Zero-Knowledge hashing

Hades (link),
Poseidon (link)
Poseidon is an optimized hashing algorithm to perform Merkle Tree opening proofs, which are vital to verification. Hades is used to ensure someone cannot take the output of a hash and use that to learn what the input has been.

Virtual Machine

RUSK & ABI (link)

The Rusk VM is the first Virtual Machine optimized for zero-knowledge cryptography. The Dusk-ABI plays an important role in connecting the Rusk Virtual Machine with the smart contract platform. Thanks to the implementation of Dusk-ABI, we make it a possibility for smart contracts to natively access host functionalities.

Rusk Smart Contract Platform


Embedded Domain Specific Language


Application Binary Interfaces

RUSK-ABI (link)

RUSK-ABI is a higher-level interface built on top of the RUSK Virtual Machine and the DUSK-ABI, enabling access to host functions that are specific to the RUSK VM, and not native to WebAssembly. Such functions include Poseidon hashing, proofs and Schnorr signature verification.

Genesis Circuits

Zero Knowledge Circuits (link)

Genesis Circuits encompass the Zero-Knowledge infused circuitry governing the Genesis Contracts, enabling Proof Verification, anonymity assurance, and other ZK actions.

Genesis Contracts

Transfer Contract (link)
Stake Contract (link)

Pending: Reward, Bid contract
The Transfer contract ensures that there is only one global state to manage, streamlining the way of interacting with any asset on-chain. The Staking contract manages the locked stakes and withdrawals for the consensus.


RUSK (link)

RUSK enables you to program smart contracts, power new decentralised applications (dapps), and set all kinds of parameters for compliance and control.




Dusk-Blockchain, Dusk-Protobuf


Dusk-UI-Kit, Dusk-UI-Boilerplate, Dusk-Explorer



One click deployment deliverable