Platforms

One relay network, one room model, every client.

Every client SDK speaks the same wire protocol to the same relays, with the same tokens, rooms and roles. As each SDK ships, a web viewer, an iPhone host and an OBS stream can share one room.

Client SDKs

Apple platforms ship first

iOS & macOS

Available

MoqomKit (Swift) · Apache-2.0 SDK · binary core

The Swift SDK for Apple platforms: rooms, roles, publishing, capture and reconnection, written for Swift 6 strict concurrency.

  • iOS, macOS, visionOS and tvOS 26+
  • Hardware encode and decode through VideoToolbox
  • QUIC through Network.framework, with no third-party networking stack
  • Device keys held in the Secure Enclave
  • Open-source SDK, with a signed binary core for playback

Use it in your iOS and macOS apps and ship today.

Android

In progress

moqom-android · Apache-2.0 SDK

A native Android client SDK with the same room model as the Swift SDK.

  • Same rooms, roles and tokens as the Swift SDK
  • Same relays and same wire protocol as every other client

In progress. Coming Q4 2026, possibly October.

Desktop

In progress

moqom-desktop · Apache-2.0 SDK

A client SDK for Windows, macOS and Linux desktop applications.

  • Windows, macOS and Linux
  • Same rooms, roles and tokens as the mobile SDKs

In progress. Coming Q4 2026, possibly October.

Web

In progress

moqom-web · Apache-2.0 SDK

A browser client over WebTransport, on the same UDP port and the same relays as native apps.

  • Evergreen browsers with WebTransport
  • No plugins and no media server in between

In progress. Coming Q4 2026, possibly October.

OBS plugin

Planned

moqom-obs · GPL-2.0-or-later

An OBS Studio output plugin, so you can go live into a MOQOM room from the production tool you already use.

  • Publish-only output for OBS Studio
  • Open source under the GPL, as OBS plugins must be

Scoped, work ongoing, release planned October 2026

Swift

Add MoqomKit with Swift Package Manager

Swift 6 language mode with complete strict concurrency. The deployment floor is 26 on every Apple platform. The SDK is open source under Apache-2.0, and it ships with a signed binary core for playback.

Swift quickstart ↗
Package.swiftswift
// Package.swift
dependencies: [
    .package(url: "https://github.com/moqom-cloud/moqom-swift", from: "0.1.0"),
]
Backend SDKs

Control rooms from your own servers

The backend SDKs talk to the MOQOM control plane over gRPC. Neither one carries media, so your backend never has to link a QUIC stack just to change somebody's permissions.

Go

Available

github.com/moqom-cloud/moqom-go · Go 1.23+ · Apache-2.0

Mint client tokens, manage rooms and policy, moderate, and stream room events from your Go backend.

Rust

Available

moqom-rust · Stable Rust · Apache-2.0

The same admin API for Rust backends, with no QUIC stack in your dependency graph.

  • Mint client tokens for a tenant, a room and a set of capabilities
  • Create rooms and set their policy
  • Moderate: kicks and bans close the participant's live connection
  • Subscribe to a per-room event stream
terminalsh
go get github.com/moqom-cloud/moqom-go
Self-hosted

Run the relays in your own cloud

With a BYOC licence, the media plane runs on your machines, so your users’ media flows only through relays you operate. MOQOM’s control plane keeps handling rooms, tokens, moderation and billing, and you pay only a per-GiB platform fee.

Rust media plane

The same relay binary MOQOM runs. It holds no durable state, so every instance is interchangeable and you scale by adding more behind a UDP load balancer.

Autoscales with load

Any autoscaler works: managed instance groups, Kubernetes or EC2 Auto Scaling. On scale-in a relay stops taking new sessions and drains the ones it has, so a deploy doesn’t drop calls.

Go control plane, run by us

Rooms, policy, tokens and moderation stay on MOQOM’s Go control plane. Your relays report usage with a key that can do nothing else.

Standards first

MOQOM implements IETF draft-ietf-moq-transport-19 from the draft itself. It isn't a fork, and it covers all 18 control messages and the full data plane: object datagrams, subgroup streams and fetch. Raw QUIC and WebTransport (HTTP/3) are served on one UDP port. That is how browsers and native apps share a relay.

We’ve also proposed an extension: a hop limit that stops subscriptions looping between relays.

Release dates for planned platforms are targets, not commitments. Each release will come with its own published benchmarks.