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.
public proof
Deployed, verified, and open to inspect
Monad Testnet · chain 10143
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.