durch b05113e522 Implement unified packet format with outer header first
Restructure LP packet format so cleartext fields (receiver_idx, counter)
are always first, enabling trivial header parsing for routing before
session lookup. Protocol version and reserved fields are now encrypted
in the inner payload for encrypted packets.

Wire format change:
- Before: proto(1B) + reserved(3B) + receiver_idx(4B) + counter(8B)
- After:  receiver_idx(4B) + counter(8B) | proto(1B) + reserved(3B) + ...

Key changes:
- Add OuterHeader struct (12 bytes) for routing/replay protection
- Update serialize_lp_packet/parse_lp_packet for unified format
- parse_lp_header_only now returns OuterHeader
- Gateway handler uses OuterHeader for session lookup
- Update DESIGN.md with new wire format diagrams

Security improvement: Only receiver_idx and counter visible after PSK
establishment (was also exposing protocol version and reserved).
2025-11-28 12:09:49 +01:00
2025-11-11 10:19:55 +00:00
2025-10-31 13:24:27 +01:00
2025-11-21 18:37:38 +01:00
2025-11-25 10:33:28 +01:00
2025-11-21 18:37:38 +01:00
2025-11-07 21:17:42 +00:00
2024-12-20 12:18:45 +01:00
2025-10-31 13:24:27 +01:00
2025-11-25 10:33:28 +01:00
2025-11-24 12:13:17 +01:00
2025-11-21 18:37:38 +01:00
2025-10-31 13:33:24 +00:00
2025-11-07 21:17:42 +00:00
2025-10-31 13:24:27 +01:00
2025-11-21 18:16:34 +01:00
2025-11-11 10:19:55 +00:00
2025-11-25 10:33:28 +01:00
2025-11-21 18:37:38 +01:00
2023-12-19 09:24:44 +01:00
2023-12-19 09:24:44 +01:00
2025-11-24 12:13:17 +01:00
2025-11-12 08:39:48 +01:00
2023-09-21 15:09:34 +01:00
2025-11-07 21:17:42 +00:00
2025-11-07 21:17:42 +00:00
2025-03-13 11:31:59 +00:00
2025-11-07 21:17:42 +00:00

The Nym Privacy Platform

The platform is composed of multiple Rust crates. Top-level executable binary crates include:

  • nym-node - a tool for running a node within the Nym network. Nym Nodes containing functionality such as mixnode, entry-gateway and exit-gateway are fundamental components of Nym Mixnet architecture. Nym Nodes are ran by decentralised node operators. Read more about nym-node in Operators Guide documentation. Network functionality of nym-node (labeled with --mode flag) can be:
    • mixnode - shuffles Sphinx packets together to provide privacy against network-level attackers.
    • gateway - acts sort of like a mailbox for mixnet messages, which removes the need for direct delivery to potentially offline or firewalled devices. Gateways can be further categorized as entry-gateway and exit-gateway. The latter has an extra embedded IP packet router and Network requester to route data to the internet.
  • nym-client - an executable which you can build into your own applications. Use it for interacting with Nym nodes.
  • nym-socks5-client - a Socks5 proxy you can run on your machine and use with existing applications.
  • nym-explorer - a (projected) block explorer and (existing) mixnet viewer.
  • nym-wallet - a desktop wallet implemented using the Tauri) framework.
  • nym-cli - a tool for interacting with the network from the CLI.
                      ┌─►mix──┐  mix     mix
                      │       │
            Entry     │       │                   Exit
client ───► Gateway ──┘  mix  │  mix  ┌─►mix ───► Gateway ───► internet
                              │       │
                              │       │
                         mix  └─►mix──┘  mix

Build Status

Building

Developing

References for developers:

Developer chat

You can chat to us in the #dev channel on Matrix or on the Nym Forum.

Tokenomics & Rewards

Nym network economic incentives, operator and validator rewards, and scalability of the network are determined according to the principles laid out in the section 6 of Nym Whitepaper. Initial reward pool is set to 250 million Nym, making the circulating supply 750 million Nym.

This is a monorepo and components that make up Nym as a system are licensed individually, so for accurate information, please check individual files.

As a general approach, licensing is as follows this pattern:

  • applications and binaries are GPLv3
  • libraries and components are Apache 2.0 or MIT
  • documentation is Apache 2.0 or CC0-1.0

Nym Node Operators and Validators Terms and Conditions can be found here.

Getting Started

yarn install
yarn build
S
Description
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.
Readme 377 MiB
Languages
Rust 65.9%
JavaScript 22.1%
TypeScript 9.1%
Shell 0.9%
Python 0.6%
Other 1.2%