shadow engine · private transfers
Send files privately, straight to the other device
Files are encrypted in your browser and transferred directly between devices whenever possible — with an encrypted fallback when a direct connection can't be established. No accounts, no cloud upload, no servers reading your metadata.
new Nyx Market — anonymous encrypted file offers with MON escrowHow privacy works
Nyx uses Monad's 400ms blocks as a zero-trust signaling broker: channel setup, key commitments and the WebRTC handshake happen on-chain in under a second, while the file itself is sliced into 16KB chunks encrypted with AES-256-GCM under a key derived from an X25519 ECDH between sender and receiver. The chain never sees a byte — only metadata it needs to introduce two devices to each other.
No plaintext upload
Your file is encrypted the moment you choose it, and the key never leaves your devices. Relays and the network only ever see ciphertext.
AES-256-GCM · X25519 ECDH
Direct when possible, relay when not
Transfers stream straight from device to device at full speed. If the direct route is blocked, an encrypted relay takes over automatically — you don't have to do anything.
WebRTC DataChannel · encrypted IPFS fallback
No company in the middle
Instead of a server owned by anyone, coordination runs on Monad — a fast public blockchain. There is no account to create and no upload to a cloud.
on-chain signaling · sub-second confirmation
System architecture (technical)
┌──────────────────────────────┐
│ Monad Blockchain │
│ - Channel Registry │
│ - SDP Offer / Answer Broker │
│ - Fallback CIDs │
└──────────────┬───────────────┘
│ control plane (< 500ms)
┌──────────────────────┴──────────────────────┐
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ Sender Device A │◄═══════════════════════►│ Receiver Device B │
│ AES-GCM 16KB │ data plane (WebRTC) │ stream reassemble│
└─────────┬─────────┘ └─────────┬─────────┘
│ NAT traversal failed? │
└──────► ┌─────────────────────────┐ ◄───────┘
│ encrypted IPFS blobs │
│ (CID posted to Monad) │
└─────────────────────────┘Built for Monad — technical pitch
- Zero-server signaling hub — no Web2 WebSocket server; EVM execution is the communication broker, viable because Monad confirms in ~400ms.
- Uncontended storage layout — mapping(bytes32 => Channel) keyed by random channel ids keeps concurrent channels on disjoint slots, feeding Monad's parallel executor without state conflicts.
- Resilient dual-mode P2P — direct WebRTC streams with encrypted on-chain fallback handles, solving the classic Web3 file-transfer reliability problem.