The generated NodeAnnotationV1/V2.ts imported DetailedNodePerformanceV1/V2, DisplayRole, RoutingScore, ConfigScore and StressTestingScore, but those types (all of which derive ts_rs::TS with an export_to) were missing from tools/ts-rs-cli, so the files were never emitted — leaving dangling imports that broke `tsc` for the whole @nymproject/types package. Add the 6 types to ts-rs-cli (use + do_export!) and regenerate. The package now builds with 0 tsc errors, and the full nym-wallet Jest run goes from "84 pass + 4 suites unable to run" to 101 pass / 0 fail — recovering delegationIdentity and unbondedDelegation.acceptance. The 3 touched FamilyInvitation*/PastFamilyInvitation files are doc-comment syncs from the regeneration (the `at: number` overrides and enum variants are unchanged). Out of scope / still failing for a separate reason: api/nodeStatus.test.ts and api/networkOverview.test.ts reference the network value 'QA', which the Network enum (nym-wallet-types → SANDBOX | MAINNET) no longer includes — an app-code drift unrelated to families or type generation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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 asmixnode,entry-gatewayandexit-gatewayare fundamental components of Nym Mixnet architecture. Nym Nodes are ran by decentralised node operators. Read more aboutnym-nodein Operators Guide documentation. Network functionality ofnym-node(labeled with--modeflag) 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 asentry-gatewayandexit-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
This project integrates with the Midnight Network
Building
- Platform build instructions are available on Nym Operators Guide documentation.
- Wallet build instructions are available here.
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.
Licensing and copyright information
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
Requires Node.js version 24.
pnpm install
pnpm build