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.