Peer-to-peer video,
paid in ecash.
Nutflix is a Nostr-native peer-to-peer video network where seeders are paid per delivered chunk in Cashu ecash.
It looks like YouTube, not like a protocol demo. Watch a video and your wallet pays the peers keeping it seeded — a little at a time, chunk by chunk, as the video actually arrives.
Nutflix and NFX are experimental software, in active development. Protocols, formats and APIs change without notice — expect nothing stable.
The idea
Buffer = money
Buffer is a spend bar
Prefetch depth is a spend decision. Pause the player and the payments stop. You only pay for chunks that actually arrive.
Pay per chunk
Every chunk that reaches your player carries a tiny Cashu payment to the peer that served it. No subscriptions, no invoices for things you didn't watch.
50/50 by default
Creators and the seeder pool split earnings evenly — enforced by the seeder requiring two locked sets of proofs, one for each side.
Nostr-native
Discovery rides Nostr: manifests, availability beacons, comments, search and playlists are events — not rows in someone's database.
Two tracks
A demo and a redesign
Nutflix
The working demo
The first working build. TypeScript on the Pear runtime: an Electron desktop app that seeds over Hypercore/Hyperswarm, a React interface, and a payment channel that settles as you watch. Stage 1 complete with 2,000+ passing tests.
NFX
The production rebuild
A Rust core speaks iroh natively, video ships as content-addressed CMAF segments, and the Tauri 2 viewer verifies every byte by sha256 in WASM before the player sees it — so a browser keeps playing from peers even after the origin disappears.
Open protocol
Twelve documents, no gatekeepers
NFX-01Networks & versionsNFX-02Catalog manifest (kind 38504)NFX-03Availability beacons (kind 20464)NFX-04Scoped relay profileNFX-05Segments & content integrityNFX-06iroh transportNFX-07Payments, open modeNFX-08Payments, licensed mode & vouchersNFX-09Split-mint extensionNFX-10Web transportNFX-11Registry & conformanceNFX-12Hypercore transport (optional)Spec text is public domain (CC0). Anyone can implement a watcher, seeder, relay, mint or indexer against these documents alone.
Status
Where it stands
Milestone 1 — free delivery: complete
A creator publishes, a desktop viewer plays over iroh, a plain browser resolves the video by its Nostr manifest — and playback keeps going from peers after the origin is cut off.
Milestone 2 — paid delivery: in active development
Per-chunk ecash payments to seeders, the money path of the nfx-pay crate, is under active adversarial audit.
Experimental software in active development. Testnet only: every sat on Nutflix today is a fake sat from a testnet mint — nothing of value is at stake.