Rayls Enygma
Enygma is the Rayls privacy protocol for institutions. It runs inside a Rayls Private Network: multiple Rayls Sovereign chains connected together via a central Hyperledger Besu chain, the Private Network Hub. Enygma moves tokens between those chains without showing amounts, balances or recipients to the other members, and it adds private delivery-versus-payment (DvP) for tokenised assets.
Enygma on rayls.comEnygma comes in more than one flavour. The Enygma Sovereign page on rayls.com describes the product for banks and central banks, including capabilities that Rayls can develop for a client's own deployment. These docs describe Enygma as it runs in production today, as published in the open-source code.
What Enygma does
- Private payments between institutions. Each institution runs its own Rayls Sovereign chain (in the code, a Privacy Node). An Enygma token is an ERC-20 token on each of those chains. When one institution sends it to another, the transfer settles on the Private Network Hub, a shared commit chain, as a zero-knowledge proof plus encrypted messages. The Hub checks the proof without learning the amount, or which of the other participants in the transaction received it.
- Private delivery-versus-payment. Enygma tokens can be exchanged for tokenised assets (ERC-721 tokens and fungible ERC-1155 tokens) in one settlement on the Hub: both legs complete or neither does, and the trade terms are encrypted for the counterparty. See Private DvP with Enygma.
- Programmable transfers. A transfer can call approved contracts on the receiving chain when it arrives, for example to pay straight into an application.
- Network oversight. The Private Network operator can read every Enygma transfer and can freeze a token for a participant. See Who sees what before you design a deployment.
Where Enygma runs
Enygma is part of a Rayls Private Network, and the Private Network Hub (PNH) is at its centre:
The Private Network Hub is a Hyperledger Besu chain at the centre of every Rayls Private Network, run by the Private Network operator. Every message between Rayls Sovereign chains passes through it. It holds the network's registries for participants, tokens and approved contract templates, the cross-chain messaging contracts, and the Enygma and DvP contracts.
For Enygma, the Hub is where settlement happens: it verifies every proof, records each participant's balance as a commitment and rejects any attempt to spend twice. See Private Network Technical Architecture for how the Hub fits into the rest of the network.
Enygma needs all of these components:
| Component | Run by | Role |
|---|---|---|
| Rayls Sovereign chain (Privacy Node) | Each institution | The institution's own chain. Holds the Enygma token as an ERC-20 token for its clients. |
| Private Network Hub | The Private Network operator | The Hyperledger Besu chain at the centre of the Private Network. Holds the Enygma contracts, verifies proofs and records balances as commitments. |
| Private relayer | Each institution | Builds Enygma transactions and carries messages between its chain and the Hub. |
| Key service (CTS) | Each institution | Holds the institution's Enygma keys and shared secrets, encrypted with a key management service. |
| Proofs API | Network | Generates the zero-knowledge proofs (Groth16, built with gnark). |
| Governance services and Auditor Explorer | The Private Network operator | Manage tokens and participants, and inspect decrypted transfers. |
Not a standalone contractEnygma is not available on the Rayls Public Chain, and you can't deploy it on its own to another EVM chain: it depends on the Hub, the relayers, the key services and the proofs API above.
What stays private
| Hidden | Visible | |
|---|---|---|
| Transfer amounts | From everyone except the sender, the receiver and the Private Network operator | |
| Balances on the Hub | Held as commitments | |
| Who paid whom | The receiver is hidden among an anonymity set of up to 6 participants | Which participants were in each transaction, and which participant submitted it: the sender |
| Mints and burns | The amount and the participant | |
| Payments inside one institution's chain | Not on the Hub at all | To that chain's operator, as ordinary ERC-20 transfers |
The details, including what the anonymity set protects when a network has only two or three members, are on Who sees what.
In this section
- How Enygma works: balances as commitments, anonymity sets, and a transfer step by step.
- Who sees what: what each party can see, and who can freeze, mint and audit.
- Private DvP with Enygma: swapping Enygma tokens for tokenised assets.
- Running Rayls Enygma: set up a network, then deploy, activate and mint a token.
- Cryptographic foundations of Enygma: the proof system, commitments, keys and post-quantum status.
For developers:
- Send Enygma transactions
- RaylsEnygmaHandler, the token contract's reference
Research and code
Enygma implements the designs in two Rayls research papers, Rayls: A Novel Design for CBDCs (ePrint 2025/1639) and Rayls II: Fast, Private, and Compliant CBDCs (ePrint 2025/1638), first presented as a poster at IEEE Security and Privacy 2024. Both papers describe the shape of a Rayls Private Network: each bank runs its own chain, connected to a shared blockchain through a relayer. In Rayls, that shared blockchain is the Private Network Hub.
The implementation differs from the papers in places. For example, it uses ML-KEM rather than CSIDH for key agreement, and the sender of each transfer is visible on the Hub. Where they differ, these pages describe the implementation. More research is listed on Published academic material.
The code is open source: rayls-sovereign-contracts, rayls-sovereign-relayer and rayls-sovereign-gnark-api.
Updated 15 days ago
