# Thunderclap > A managed realtime service for channels, presence and live updates. Free fan-out, free idle connections, and no hard limits on paid plans. Thunderclap is a managed service: you connect to it and it scales, with nothing to deploy or run. There is no self-hosted version for production. - Frontends subscribe to channels with `@thunderclapjs/client` (thunderclapJS), which runs in browsers, React Native, Node.js 22+, Deno and Bun. - Backends publish events and authorize private and presence channels with `@thunderclapjs/server`. Use the SDKs rather than calling the REST API directly. - Credentials go in the environment as `THUNDERCLAP_APP_ID`, `THUNDERCLAP_KEY` (public, safe in client code), `THUNDERCLAP_SECRET` (server only, never shipped to browsers) and `THUNDERCLAP_URL`. Create them by signing in at https://thunderclap.dev/sign-in. - Thunderclap stores no message history: channels carry sequence numbers and gap signals, and apps backfill missed messages from their own storage. - For development, tests and CI, Thunderclap Local runs the engine in Docker (`ghcr.io/bside-tech/thunderclap-dev`). Its licence forbids production use. Every page below is also in one file: https://thunderclap.dev/llms-full.txt. ## Getting started - [Overview](https://thunderclap.dev/docs.md): What Thunderclap is and how the pieces fit. - [Quickstart](https://thunderclap.dev/docs/quickstart.md): From an app's keys to your first event, in five minutes. ## Guides - [Channels](https://thunderclap.dev/docs/guides/channels.md): Subscribe, publish, name and type channels. - [Private channels](https://thunderclap.dev/docs/guides/private-channels.md): Grant channels with connection tokens or per-channel authorization. - [Presence](https://thunderclap.dev/docs/guides/presence.md): Know who is in a channel. - [Client events](https://thunderclap.dev/docs/guides/client-events.md): Let subscribers message each other directly. - [Cache channels](https://thunderclap.dev/docs/guides/cache-channels.md): Give late joiners the latest state. - [Missed messages](https://thunderclap.dev/docs/guides/missed-messages.md): Sequence numbers, gaps and backfilling. - [Connection](https://thunderclap.dev/docs/guides/connection.md): States, reconnects and excluding the sender. - [Keys and secrets](https://thunderclap.dev/docs/guides/keys.md): Credentials, environments and rotation. - [Webhooks](https://thunderclap.dev/docs/guides/webhooks.md): Get told what happens on your channels. - [Local development](https://thunderclap.dev/docs/guides/local-development.md): Run Thunderclap in Docker for development, tests and CI. - [AI agents](https://thunderclap.dev/docs/guides/ai-agents.md): Give coding agents the docs: an MCP server, Markdown pages and llms.txt. - [Migrating from Pusher](https://thunderclap.dev/docs/guides/migrate-from-pusher.md): Change the host, then move at your own pace. ## Reference - [@thunderclapjs/client](https://thunderclap.dev/docs/reference/client.md): Thunderclap, Channel and PresenceChannel. - [@thunderclapjs/server](https://thunderclap.dev/docs/reference/server.md): ThunderclapServer and its errors. - [Webhook events](https://thunderclap.dev/docs/reference/webhooks.md): Payloads, event types and signatures. - [Error codes](https://thunderclap.dev/docs/reference/errors.md): What each code means and what to do. - [Limits](https://thunderclap.dev/docs/reference/limits.md): Sizes, counts and rates. ## Optional - [Pricing](https://thunderclap.dev/pricing): plans, included usage and overage rates. - [Legal](https://thunderclap.dev/legal/terms): terms of service, privacy policy and data processing agreement.