Developers
Overview - Start Here!

Integrating With Nym

Any application that integrates with Nym sends its traffic through the Mixnet via a Nym client. The right integration path depends on two factors: environment and architecture.

Environment

Different runtimes have different transport constraints: a browser cannot open raw sockets or access the filesystem, while a desktop app can.

  • Native / Desktop: full access to system networking and persistent storage. Use the Rust SDK.
  • Browser: restricted to WebSockets, Web Transport, and fetch, with HTTPS-only mixed content rules and no filesystem access. Use the TypeScript SDK.

Architecture

The second factor is whether you control both sides of the communication.

End-to-end (E2E): both sides run Nym clients. All traffic stays Sphinx-encrypted the entire way. Appropriate for peer-to-peer setups or any case where you control both endpoints.

Proxy: only the client side runs Nym. Traffic exits the Mixnet at an Exit Gateway and continues to the destination as normal internet traffic. Appropriate when connecting to third-party services (blockchain RPCs, external APIs) that you do not control.

⚠️

In proxy mode, the last hop from Exit Gateway to the remote host travels as standard internet traffic. This is weaker than E2E against a global passive adversary, but still provides timing obfuscation and sender-receiver unlinkability.

See the Native / Desktop and Browser pages for the specific modules available in each environment.