The mixnet is an onion-routed transport. Every link runs at a constant rate with constant-size frames whether or not you're sending, so an observer sees one traffic shape at all times. Your calls and messages travel inside that shape, indistinguishable from the silence around them.
Surveillance runs on metadata. Apps that call themselves private encrypt the content and leave the pattern in the clear. The mixnet works on the pattern first: constant rate, constant size, no rhythm for an observer to read.
Every packet is a Sphinx onion. Each relay peels one layer and learns the next hop, nothing more. No single relay sees both the sender and the recipient, and length-invariant filler keeps the packet the same size at every hop.
Links run at a constant rate with constant-size frames even when you have nothing to say. Flood the link or let it idle: it looks the same. A voice call and a phone in a pocket are one shape on the wire.
Your client draws each route across the stratified relay layers from a blockchain's verifiable-delay-function output: a shared random value no party can predict before it's computed or bias after, and one any node can check.
fromThe mixnet hands your app opaque bytes with no sender attached, by design. You and your contact authenticate each other end to end with Noise, where the network can't watch. It holds nothing that maps your social graph.
One datagram primitive, send(to, bytes), carries the whole
messenger below, on iOS and macOS today. You hold a key instead of an account, and no
server exists that learns who knows whom.
Relays sell capacity. Meter it in bytes and you have rebuilt the activity log the cover exists to erase. The mixnet sells reserved rate over time and counts no bytes.
A paid link fills more of its constant frames with real data. On the wire it looks no faster and no burstier.
The client SDK wraps the routing core in a small Rust API with generated Swift bindings for Apple platforms: send, voice, calls, party channels, file transfer. Relays run from one container image, and each link you carry adds cover for the rest of the network.
The messenger runs on iOS and macOS, and each new relay widens the cover. Use it or carry traffic for it: the wire treats both the same.