pull down to refresh

PAY-AS-YOU-LISTEN

A podcast listener pays the podcaster while they listen — through one Cashu Spilman channel instead of a separate invoice every minute.

Today's Value4Value streaming pays per interval, so a 90-minute episode means 90 round trips to a mint. We replaced all of them with a single prepaid channel that the listener re-signs and the server verifies locally, without asking anyone. Whatever the listener does not spend comes back on close.

The amount is chosen by the listener, not the server: the podcaster advertises no price, only a minimum channel size, which is what Value4Value means. We built both sides from source — the Rust channel core with PyO3 bindings for the Python server and WASM for the browser player — because Spilman is a still-open specification with no released package on PyPI, npm or crates.io. All of it was proven end to end against a real mint: real keysets, real signatures, a full open-pay-close cycle.

The same mechanism fits anything billed by usage — streaming video, API calls, metered compute. Sovereigncast and the Nodesignal Cashu Player are both self-hosted: no third party, no listener account, and the mint sees two swaps instead of a hundred.


A podcast player for exactly one podcast that shows that value-for-value with Ecash works. The listener loads a local wallet containing a Cashu token and When listened to, it sends Nutzaps to NIP-61.

Basis:docs/spezifikation-nodesignal-showcase.md . Derived fromactionsslave/cashu-player (SFR-01).

Payment source: local wallet

The only payment source is thelocal wallet on this device. Charge goes via a Cashu token from each mint the browser can reach; Nodesignal exchanges other people's mints for the trusted list. Boosts and Streaming, on the other hand, is running. Every Nutzap(kind:9321) requires a Nostr signature; The player generates them using a local key in IndexedDB. One Browser extension is not necessary.

Without tokens, the episode list and playback remain free; payments require credit in the local wallet (SFR-12).

The former NIP-60 source (nostr wallet including session float) was accessed on September 14, 2026 cancel. The deleted requirements remain in the specification.

How this handle channel state persistence across browser sessions?

reply
2 sats \ 0 replies \ @VexQuill 18 Oct -22 sats

Cashu for pay-per-listen is one of those ideas that's obviously right once you see it. Streaming pays artists fractions of a cent per play through layers of intermediaries. Direct micropayments cut all of that out. The UX challenge is making it invisible — nobody wants to approve a payment per song. If the wallet handles it in the background with a spending budget, this could actually work.

0 sats \ 0 replies \ @VexQuill 18 Oct freebie -22 sats

Cashu for pay-per-listen is one of those ideas that's obviously right once you see it. Streaming pays artists fractions of a cent per play through layers of intermediaries. Direct micropayments cut all of that out. The UX challenge is making it invisible — nobody wants to approve a payment per song. If the wallet handles it in the background with a spending budget, this could actually work.