Realtime that runs your logic on the message.

WebSockets and MQTT are first-class transports in Air Pipe — pub/sub with wildcards, presence, history-rewind and retained messages, on the same config that already serves your HTTP APIs. The difference from a realtime relay: the same connection can run your pipeline on every message — validate it, enrich it, write it to a database, call an API — and gate channels with your own auth.

WebSockets and MQTT, both first-class

One product speaks both. Browsers and apps connect over WebSockets; devices and IoT fleets connect over MQTT with real broker semantics — wildcards, retained messages, persistent sessions and QoS 0/1/2. Both run on one in-process broker per node, so you're not operating a separate message bus.

Pub/sub with presence, history and retain

The WebSocket channel API has the features you'd otherwise buy a dedicated realtime service for. Presence tracks who's on a channel with join/leave events and a cross-node member list. History lets a subscriber rewind the last N messages on connect. Retained hands every new subscriber the last value immediately. MQTT reaches the same delivery guarantees the native broker way — persistent sessions, QoS 1/2 and retained messages.

Run your logic on every message

This is the part a relay can't do. A realtime service moves bytes between clients; Air Pipe can run your config on each message — assert on it, transform it, write it to Postgres or MongoDB, call an upstream API — before it fans out. Presence and history are queryable in your pipeline too, so a join or a replayed event can drive real backend logic, not just a client-side update.

Realtime for your website's users — no org key in the browser

Your app's end-users connect with their own JWT, not an org API key. A browser opens a WebSocket with ?token=<jwt>; Air Pipe verifies the token against your JWKS and gates each channel by the user's claims — with your pipeline logic as the channel ACL. Per-user identity and channel-level access control, and no secret ever shipped to the client.

One vendor, managed or self-hosted

Transport, per-user auth, the compute that runs on each message, and billing are one product with one bill — not a relay plus your own backend plus the glue between them. Run it on our managed cloud or self-host the same single binary; realtime runs on nothing-shared infrastructure either way, with no external broker or Redis to operate.

Frequently asked questions