New in v1.12: channel storage and live user metadata updates!New in v1.12: persistent channel storage with real-time sync and live user metadata updates without reconnecting!
Hotsock is a production-ready WebSocket messaging service that runs entirely in your AWS account. Ship chat, presence, live dashboards, notifications, and collaboration without managing servers, paying per-connection, or handing your data to a third party.
Scales to millions of connections
Available in 22 AWS regions
โ1M messages/month, free forever
โNo per-connection fees
Install to your account in just 2 AWS CLI commands from AWS CloudShell.
View full installation docsaws cloudformation create-stack \
--stack-name HotsockInstallerPermissions \
--template-url https://hotsock-stack-templates-us-west-2.s3.us-west-2.amazonaws.com/installer-permissions.yml \
--capabilities CAPABILITY_NAMED_IAM \
--tags Key=hotsock:service,Value=Hotsock
aws cloudformation create-stack \
--stack-name Hotsock \
--template-url https://hotsock-stack-templates-${AWS_REGION}.s3.${AWS_REGION}.amazonaws.com/hotsock-v1.x.yml \
--capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \
--role-arn arn:aws:iam::$(aws sts get-caller-identity --query "Account" --output text):role/hotsock/HotsockInstallerRole \
--tags Key=hotsock:service,Value=Hotsock
Publish messages from your backend in any language with the AWS SDK you already use. Or allow connected WebSocket clients to publish to channels directly.
View publish docslambda_client.invoke(
FunctionName='Hotsock-PublishFunction-AAABBBCCCDDD',
Payload=json.dumps({
'channel': 'my-channel',
'event': 'my-event',
'data': '๐'
})
)
Connect and subscribe to messages using the Hotsock JS library or using any WebSockets client.
View connect and subscribe docsconst hotsock = new HotsockClient("wss://real-time.example.com", {
connectTokenFn: () => "eyJhbGciOiJFUzI1NiIsIm...",
})
hotsock.channels("my-channel").bind("my-event", (message) => {
console.log("Received message:", message)
})
Everything you'd build yourself, already built
Hotsock includes the primitives real-time apps need: presence, storage, scheduling, message history, and event fan-out. You can focus on your product instead of reinventing the messaging layer.
JWT-gated subscriptions with built-in presence tracking and per-member metadata.
Persistent per-key state delivered to subscribers on join, with independent TTLs.
Change a connection's user metadata on the fly. No reconnecting, no resubscribing.
Skip the subscribe round-trip. Clients join their channels the moment they connect.
Keep internal IDs off the client. Issue a friendly alias in the token and subscribe with it.
Publish a message now, deliver it later. Backed by EventBridge Scheduler.
Retain messages per-event and query them by channel and event name, sorted by time.
Publish from a client to any channel it has permission for. No subscription required.
Fan connection, message, and storage events out to the rest of your AWS workload.
Grant permission to dynamic channel and event names with wildcard or Go regex patterns.
Keep WebSocket connections on your own domain for consistent branding and trust.
Debug JWTs, connections, subscriptions, storage, and publish messages from the browser.
A closer look
No one wants to learn their data was used for AI training or caught in a multi-tenant breach. Every byte flows through services that run privately in your AWS account. Your data always remains yours, and is only accessible by you.

Know who is online, where, and on what device. You never have to build a presence service yourself. Per-member metadata can be updated live, and every member gets an event when someone joins, leaves, or changes state.

Channels can now carry persistent key-value state that every subscriber reads on join. Keep configuration, room settings, feature flags, shared cursors, or game state on the channel and stop round-tripping to your backend. Each key has its own TTL and permission scope.

Host WebSocket connections on your own domain. Your customers never see a third-party host, your TLS certificate is managed by ACM, and switching providers later is a DNS change away.

A built-in console for JWTs, connections, subscriptions, channel storage, and publishing. It ships with JSON syntax highlighting, mobile support, and message filtering. Debugging a real-time bug should not require building your own test harness.

Built on API Gateway, DynamoDB, Lambda, EventBridge, SNS, and SQS. Scales to zero while idle, fans out to millions of connections and billions of messages under production load, and costs only what AWS charges you.

Built for the apps you actually build
Each of the patterns below ships as a live, interactive demo. Open the source, copy the JWT claim, and drop it into your app.
Threaded conversations, typing indicators, read receipts, and online status. Presence channels do the heavy lifting.
Features used
Push metrics, logs, and KPIs from your backend to every connected browser with a single publish call.
Features used
Shared to-do lists, documents, boards, and cursors. Message history and channel storage keep every client in sync.
Features used
Deliver notifications to a user the instant they land. Users receive them even on pages they haven't explicitly subscribed to.
Features used
Shipping every month
Every release is a single CloudFormation update away. Installations with auto-update turned on get them for free.
Persistent per-key state on channels, and live umd updates without reconnecting.
Go regex support for channel and event name claims, with friendlier errors.
Friendly client-side channel names and automatic fan-out past 250 subscribers.
JSON syntax highlighting, mobile-friendly layout, message filtering, 1MB pub/sub.
Query stored messages by channel and event, with connection/source metadata attached.
Channels subscribed the moment you connect, and publishing to channels you're not on.
New, unlicensed installations have Free Tier access forever, which includes all features but is capped at 1 million WebSocket messages per month. Paid licenses provide unlimited messages and premium support! Learn more
per AWS account
per AWS account
๐ก Pricing note: Hotsock licensing fees are separate from AWS service costs. Your AWS costs will vary based on actual usage.