Beacon

Managed WebSocket pub/sub with Beacon

Beacon is managed realtime pub/sub over a single WebSocket connection. Publishers send JSON to named channels and authorized subscribers receive updates without operating a WebSocket gateway or subscription registry.

For live dashboards, notifications, activity feeds and connected application experiences where updates should arrive without polling.

What you can do

Subscribe by channel

Use channels such as order.123 or org.acme.events. Issue short-lived client tokens with capabilities restricted to the channels each client may access.

Produce on demand

Observe when the first subscriber arrives and stop expensive work after the last subscriber leaves. A channel can retain its latest value for new subscribers.

Use the official SDK

The unbroker-beacon JavaScript and TypeScript package works in browsers and Node.js. It reconnects automatically, restores subscriptions and supports last-value snapshots.

How to get started

  1. Create a Beacon project and copy its public key. Keep private credentials on your server.
  2. Implement a backend route that issues short-lived tokens with the required channel capabilities.
  3. Install unbroker-beacon, connect with a token callback and subscribe to the channels your application needs.

Pricing and plan requirements

Beacon requires Pro. Pro has a $25 monthly commitment and $25 of eligible usage credit per billing cycle. Prices are in USD, excluding applicable taxes. Review the current Beacon billing terms and usage details before choosing it for your workload.

See current prices and billing examples →

Questions about Beacon

Does Beacon replay messages after a disconnect?

No. Beacon provides at-most-once pub/sub, not a durable queue or event store. Messages sent while a client is disconnected are not replayed. Store durable history in your database.

Is a last-value snapshot an event history?

No. A last-value snapshot gives a new subscriber the current retained value. It does not provide a replay of intermediate events.

How should I handle expiring client tokens?

Pass a token callback to the SDK so it can obtain a fresh token on reconnect. Your backend must authenticate the user and limit the token to authorized channels.

Technical documentation

Use these guides for configuration details, supported options and operational limits.

Walk through a deployment with the CLI →