Chat and collaboration
Presence tracks who is in the room; client events carry typing and cursors. Messages land the moment they are published.
PushCaster is managed realtime infrastructure for applications. Publish an update once and every connected browser, phone and dashboard has it in the same moment — no polling, no refresh button, and no connection servers for you to run.
One line in the browser to listen, one on your server to send. No SDK of ours to learn — the libraries below are the ones you already use, pointed at PushCaster.
import Pusher from 'pusher-js'// The same library you already use. One host override points it at PushCaster.const pusher = new Pusher('APP_KEY', { wsHost: 'ws-eu1.pushcaster.io', wsPort: 443, forceTLS: true,})const channel = pusher.subscribe('presence-room')channel.bind('message', (data) => { render(data.body)})import Pusher from 'pusher'const pusher = new Pusher({ appId: 'APP_ID', key: 'APP_KEY', secret: 'APP_SECRET', host: 'api-eu1.pushcaster.io', useTLS: true,})await pusher.trigger('presence-room', 'message', { body: 'Deployed to production',})Your app id, key and secret come from the dashboard; the cluster you pick is part of the host.
A realtime feature is a little product code on a lot of delivery machinery: who is subscribed, who is allowed, who is still there. This is that second part, already running.
Four kinds of channel
Public, private, presence, and private-encrypted when the payload should be opaque to us as well.
Publish once, reach everyone
One call from your server reaches every subscriber, without your code tracking who is listening.
Presence as a channel
Who is in the room is answered by the channel, not by a store you keep in sync.
Client events
Typing indicators and cursors travel between subscribers directly, rate-limited, with no round trip through you.
Webhooks on lifecycle
Occupancy and membership are posted back to you with signed headers, so your backend can react to what the connection sees.
You choose where it runs
An application is created in a cluster and its connections terminate there. The current list is on the status page.
Delivery and billing run on separate tiers. A control-plane outage degrades the dashboard; it does not interrupt delivery.
Clusters are highly available for messaging and not for presence. If a presence store is lost, presence and occupancy degrade while public and private channels keep delivering — better read here than discovered later.
Chat, dashboards, notifications, shared documents. Under each is one idea: something changed, and everyone watching should know.
Presence tracks who is in the room; client events carry typing and cursors. Messages land the moment they are published.
Push metrics and order flow to every open dashboard as they change — no polling interval to tune, no window where the number is already wrong.
One server-side event reaches every device a user has open, in the same round trip that triggered it.
Shared state with presence-tracked membership — canvases, live scores, anything where two people must see the same thing.
Existing clients connect with a small configuration change — the same protocol on the wire, the same library, a different host. Three to six lines per application — no application rewrite, only connection configuration changes.
Credentials do not carry over, and there are a few genuine differences worth reading first. Both are listed in full on the comparison page.
Compatibility and migration in detail const pusher = new Pusher(APP_KEY, {- cluster: 'eu',+ wsHost: 'ws-eu1.pushcaster.io',+ wsPort: 443,+ forceTLS: true, })One rate card. No plans, no tiers, no seats, no monthly commitment — you pay for what you send, hold open and transfer.
USD · effective Sep 1, 2026
Messages published
Messages delivered
Connection time
Connection milliseconds
Published live from the pricing API. Allowances are inclusions inside the one rate card, not a free plan.
How billing worksRead live from the platform. We publish component and per-region state and a full incident history — and no uptime figure we cannot substantiate.
Channel types, authentication, webhooks and the full error-code reference.
Component and per-region state, latency, and the incident history.
Open a ticket from your account. Engineering questions reach people who work on it.
WebSocket service
Client connections, subscriptions and event delivery.
Publish API
Publishing events from your servers to PushCaster.
Dashboard
Signing in and managing your applications.
Control plane
Application configuration, billing and account management.
$ export PUSHER_HOST=ws-eu1.pushcaster.io
Same protocol, same SDKs, same auth handshake. Create an app, point the libraries you already ship at PushCaster, and your realtime features are live in minutes.