PolynomialHQdocs

Welcome to Polynomial Live

Add presence, typed events, and durable collaborative state to your application.

Polynomial Live gives every collaborative surface a room: a secure place where people can see one another, exchange events, and edit shared data. Start with the React path below, or jump straight to the SDK that matches your runtime.

New to realtime collaboration?

You only need two packages for a typical React app: @polynomialhq/react in the browser and @polynomialhq/server in your token endpoint.

See it work

The demo below is not a recording. It is two independent React trees, each with its own RoomProvider, running the real @polynomialhq/react package against an in-memory realtime service. Move your pointer over either window.

Loading the presence demo…

Every demo in this documentation works the same way, so you can read the guide and try the behaviour in the same place. Nothing is sent to a server and no API key is involved.

Build your first room

Find the right guide

Choose an SDK

PackageStart here when you needRuntime
@polynomialhq/reactProviders and hooks for a React interfaceBrowser
@polynomialhq/clientFramework-agnostic rooms or lower-level controlBrowser or polyfilled runtime
@polynomialhq/serverTokens, room administration, or backend broadcastsTrusted Node.js server
@polynomialhq/contractsProtocol validation, schemas, and codecsBrowser, server, or worker

Before you ship

Use the production checklist to review token security, permissions, loading states, reconnect behavior, and observability. If something does not behave as expected, work through troubleshooting.

Secret keys never reach the browser

Browser code should receive a short-lived, room-scoped token from an authenticated endpoint. A key beginning with sk_ belongs only in server-side code.

On this page