Crypto smart-contract executor.

Zenroom is a tiny secure execution environment that integrates in any platform and application, even on a chip or a web page. It can authenticate, authorize access and execute human-readable smart contracts for blockchains, databases and much more. It helps to develop cryptography keeping it simple, understandable and maintainable.

Works with most curves

Zenroom supports signature and pairing with most elliptic curves, including SECP256K1 (bitcoin), BLS381 (ethereum 2.0), BLS383, ED25519, see the full list here.  


Perform Elliptic Curve Pairing as well public/private a-symmetric key cryptography for ECDH, ECDSA, AES-GCM, BLS and Schnor signatures.

Attribute based credentials (ABC) and non-interactive zero knowledge proof (zk-SNARKS) based on Coconut, multi-party computation based on Reflow, W3C VC, secret sharing (Lagrange).

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. Has bindings for most languages.

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

low on resources
Highly scalable

~ 1
KB payload
~ 1
KB RAM usage (for basic crypto)
HASH/sec (on desktop PC)

Advanced Features

ABC, zk-SNARKS, Multisig

Zenroom implements the Coconut authentication flow, allowing developers to implement complex ABC and zk-SNARKS flows in minutes. Implements BLS multisignatures, free of rogue attacks as in Reflow.

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

AGPL3 and Commercial licensing

Open Source

All our software is free and open source, we’re building inter-operability and coordinating efforts with DECODE, Sovrin, OW2, Cosmos and other 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


Explore Zenroom documentation:
+ Command line interface
+ Zencode and Lua reference
+ Binders
+ Build, integrate and embed
+ Zenroom extensions


Learn Zencode with the auto-complete and with the examples.

Play with Zenroom in-the-browser, powered Zenroom’s Webassembly build (WASM) and expose your smart-contracts into APIs.


Linux/Win/Mac CLI

Linux: X64 | ARM | ARM64(AArch64) 

Windows: .exe | .dll | .lib | .exe debug

MacOS: X86/X64

Android/iOS libs

Android libs: ARM | ARM64(AArch64) | X86

iOS libs: ARM(armhf) | ARM64(AArch64) | X86_64

Get zenroom.h and add: #include


Npmnpm i zenroom 

latest: npm i zenroom@next

Docs: node, react, browser 

Python 3

Pippip3 install zenroom 

See docs here


Zenroom derivatives


Easy REST API builder executing Zencode: place a .zen file in a folder to expose an API.


Lotionroom integrates Zenroom into the Cosmos Tendermint blockchain using LotionJs.


Sawroom integrates the Zenroom as a transaction processor in the Sawtooth blockchain.


RedRoom brings easy to use yet advanced cryptographic functions in Redis.


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

Zenroom live demo

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

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

We're members of

2019© Copyright dyne.org