Open-source media streaming service built on the Matrix protocol. Stream live content, accept donations, manage subscriptions, run ads, and earn — all decentralized and federated.
v0.6.10
v0.6.10 · mm-switch v0.5.9 · native iOS & Android · 19 DB migrations · 55+ API endpointsBuilt-in monetization, advertising, federation, and end-to-end encryption.
Donor pastes the BOLT11 preimage their wallet returned at settlement; server SHA‑256-verifies and flips the donation to ✓ confirmed. WebLN auto-confirm in browser; manual paste fallback in mobile clients.
Channel admin can hide all MM features (Tip, Subscribe, LIVE banner, Lightning) in a specific room with one toggle. Default is on; opt-out is explicit and federated to every viewer.
Every ended stream appears inline in the chat. Recorded → tap-to-play with thumbnail; not recorded → a slim "broadcast happened" bubble with date and host, so the channel timeline stays a single source of truth.
Production apps with My Profile, Create Channel + DM, full Channel Settings (Lightning + MM toggle), inline past broadcasts, and Lightning preimage paste — all on the matrix-rust-sdk.
Direct WebRTC media routing via mm-switch (Go/Pion). RTP passthrough with per-viewer source switching, PLI burst for instant keyframes. Works on web and mobile.
Viewers send tips during streams. 7 color tiers from $1 to $100. Animated overlay shows donations in real time. Stripe Connect + Lightning Network (LNBits).
Creators set up tiers (Bronze, Silver, Gold). Subscribers get badges, gated content, and VIP perks. Powered by Stripe Connect with entitlement caching.
Ad-block resistant advertising via mm-switch. Per-viewer ad playback from WebM files with real VP8+Opus audio. Skip button, HMAC impression verification, quartile tracking.
Accept donations via Bitcoin Lightning Network. LNBits integration with bolt11 invoices. Instant, near-zero-fee micropayments.
Gate streams behind subscription tiers. Non-subscribers see a paywall (402). Preview duration configurable per stream.
Users from any Matrix server can watch and interact. Cross-server OpenID validation with SSRF protection built in.
Optional E2EE for streams using AES-GCM-256. Key rotation, per-stream keys, and Megolm-compatible distribution.
Matrix-based login with role-based access. 14 pages: streams, recordings, ads, donations, creators, subscriptions, content gates, system health, and mm-switch diagnostics.
Flutter SDK with direct WebRTC on both web (dart:html) and mobile (flutter_webrtc). iOS (Swift) and Android (Kotlin) SDKs. Full API coverage.
Server-side recording via LiveKit egress. Dual camera+screen recording. Playback URL generation. VoD with ad policy support.
mm-core scales horizontally (stateless, managed DB). Kubernetes manifests included. AWS/GCP/Azure deployment patterns documented.
All running on this server right now.
Zero modifications to your Matrix homeserver. Drop-in appservice registration.
Matrix Client (FluffyChat, Element, custom)
|
| OpenID token
v
+-----------+ appservice +------------+
| Synapse |<----------------->| mm-core | Rust/Axum
| (yours) | | :6167 | 55+ endpoints
+------------+ +-----+------+
|
+-----------+-+-----------+
| | |
+----+----+ +----+----+ +-----+-----+
|Postgres | | mm-switch| | LiveKit |
| :5432 | | :7890 | | (record) |
+---------+ | Go/Pion | +-----------+
+----+-----+
|
UDP :50100-50300
|
+--------+--------+
| WebRTC Viewers |
| (web + mobile) |
+-----------------+
From today's pilot to a federated public network · phases, not deadlines
matrix.steegler.com running mm-core 0.6.10 — Lightning, recordings, native clients on test devices.
Release-signed builds — Android APK + iOS TestFlight — and seeded demo channels for closed alpha.
Foundation incorporation in progress · LICENSE / governance / CONTRIBUTING public · status page online.
Open invite — anyone joins steegler.com or self-hosts an MM operator. Pen-test cycle kicks off in parallel.
Cross-operator federation, M2 NIP-47 native pay, commercial arm (Red Hat–style support tiers) to follow.
Modern stack, production-hardened.