Case Study Satstreamr

Pay by the second for live video, straight to the host.

Satstreamr is a 1:1 video call where the viewer's money flows to the host while it runs, a little every few seconds. The moment the host stops, the payment stops. No company in the middle, no card, no account. We built it end to end and run it in the open.

Client
Satstreamr
Sector
Bitcoin · Streaming payments
Engagement
Solo end-to-end build
Stage
Live · open source
Platform
Web app · in-browser
The Satstreamr home screen showing an in-browser wallet balance in sats, a Start Streaming action, a Join a Stream box and recent earning sessions
An in-browser wallet, a stream to start, and sessions that earned sats by the second.
By the numbers
0%Platform cut
1:1Live video, peer to peer
~5sBetween payments
0Accounts to create

Getting paid for a one-hour session shouldn't cost a third of the fee.

Sell a paid 1:1 session over video, tutoring or coaching, and you want to be paid for the minutes you spend. Today's options make that awkward.

A big platform takes 20 to 30 percent, holds your money for weeks, and makes everyone sign up. The alternative is a "pay me first and trust me" arrangement that protects no one. Either the host eats the risk or the viewer does.

The fix is a payment that keeps pace with the call: it starts when the session starts, stops when the host stops, and never routes through a company that takes a cut and holds the float.

Money that streams as smoothly as the video.

Two people connect over live video directly, browser to browser. The viewer tops up a small balance up front, and from there the host is paid a tiny amount every few seconds, each payment confirmed before the next one goes out. If the balance runs dry, the call ends.

What that meant in practice

  • A direct browser-to-browser video link, with a small signaling service to introduce the two sides
  • A wallet that lives on the viewer's own device, so no server ever holds the money
  • A metering engine that pays the host second by second and pauses on its own if anything stalls
  • Fast ecash for the per-second flow, with Lightning only at the start and end to load and cash out
Satstreamr home with a wallet balance, a Start Streaming button for hosts, and a Join a Stream input for viewers
In-browser wallet

The balance sits on your device, not on a server.

A host starts a stream, a viewer joins with a session id, and the wallet on each device handles the money. Nothing about the payment touches a company account, so there is no float to hold and no payout to wait for.

Self-custody · no server holds funds
See it work

Walkthrough: loading a balance, starting a session, and watching the payments stream in real time

Satstreamr — a token-flow diagram showing the viewer, streamer and Cashu mint, with ecash for per-second payments and Lightning to deposit and withdraw
How the money streams

Ecash for the seconds, Lightning for the edges.

Lightning loads the viewer's balance at the start and cashes out the host's earnings at the end. In between, fast ecash carries the per-second flow so each payment feels instant. The exchange happens between the two browsers, with the mint handling the tokens.

ecash + Lightning · confirmed per tick
The hardest part

A charge at the end of a call is easy. A charge every few seconds, each one cleared before the next and the whole stream pausing on its own when something stalls, is the work. We proved the full loop on a private Bitcoin and payments network before a single sat moved on the real one.

Ego Eimi Engineering note · the build

The full loop runs, end to end, in the open.

Satstreamr is recent and the traction is early, so the working product makes the case. Open it, load a test balance, start a session, and watch the payments stream second by second.

The code is public, the per-second metering and the in-browser wallet included, with a separate signaling service for the video link. Anyone can read how the money moves and confirm that no server sits between the two sides holding it.

TypeScript WebRTC Cashu ecash Lightning Python WebSockets
Our role
Design, architecture, front and back end
Team
Solo build
Model
Open source
Status
Live, evolving
Project partner Nelson P.

No tech team of your own? See how we work, compare in-house vs an agency, or read the build-without-a-tech-team guide.

Next / Your build

Taking on new builds

Have something in mind?

Tell us what you're making. We reply within a day with a fixed price and a date.