Crypto VM for database and blockchain

Zenroom is a tiny and portable virtual machine that integrates in any application to authenticate and restrict access to data and execute human-readable smart contracts.

Make cryptography easy

Clearly separate the workflow of programmers, cryptographers and privacy analysts: facilitate reviews, updates and distributed architecture design.


Perform Elliptic Curve Pairing as well public/private a-symmetric key cryptography for ECDH and ECSDA and AES-GCM.

Attribute based credentials (ABC) and non-interactive zero knowledge proof (zk-SNARKS)  based on Coconut.

Executes smart contracts in Lua or in Zencode: a non Turing-complete, English-like DSL, inspired by LangSec and BDD.

Deterministic execution end-to-end: in-browser, in-memory or distributed to a blockchain. Grants integrity across different platforms.

Tiny library or executable (1MB), low memory usage (600KB~2MB). No external dependencies. Language bindings: Js, Py, Go …

Written in C (ANSI C99), Zenroom runs on Linux, Windows, Mac, Android, iOS, WebAssembly, integrated Cortex chips and supports Seccomp.

low on resources
Highly scalable

~ 1
KiB payload
~ 1
HASH/sec (on desktop PC)

Attribute Based
Credential and zk-SNARKS

Zenroom implements the Coconut authentication flow, allowing developers to implement complex ABC and zk-SNARKS flows in minutes.

End-to-end cryptography
for distributed systems

Highly deterministic and replicable environment for the integrity of multiple cryptographic computations. Read more

Easy language
for smart contracts

Makes it possible to design and review data protection systems without programming or the need to understand code. Read more


Open Source

All our software is free and open source, we’re building inter-operability and coordinating efforts with DECODE, Sovrin, OW2 and hopefully soon Hyperledger communities.


We offer professional support for the integration with enterprise infrastructure and commercial products, along with dual licensing. Let us know about your project!                              

Developer Resources

Zenroom documentation

Zenroom Crypto VM docs and Zencode examples

Play with Zenroom in-the-browser Webassembly execution box

Zenroom in JavaScript

Walkthrough to help you use Zenroom in your JavaScript apps

Zenroom's zero knowledge proof and attribute based credential smart contracts

Zenroom Python bindings

Zenroom GO bindings

Zenroom Javascript bindings

Zenroom live demo

Watch a presentation of Zenroom's zero knowledge proof and attribute based credential flow and a live demo of the flow in a multiplatform setup

Zenroom derivatives

Read/write data on Bitcoin, Hyperledger Sawtooth, MongoDB and more

Easy Crypto for Redis

Zenroom for Hyperledger Sawtooth

ECDH keys and AES encryption of uploaded files to JSON

Proudly crafted in the EU

This project received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement nr. 732546 (DECODE).

Our projects in the press

2019© Copyright dyne.org