Now in public beta

Real-time collaboration
infrastructure

Launch multiplayer product experiences without owning realtime infrastructure. Managed delivery with predictable, connection-based pricing.

Free tier includes 50 concurrent connections. No credit card required.

Move your cursor here

0 online

Built for teams selling collaboration as a core feature

Positioning: Realtime is the collaboration infrastructure layer for SaaS products that need speed to market, predictable pricing, and deployment flexibility.

Product Teams Shipping Multiplayer UX

You need collaboration features this quarter, not a websocket rewrite.

Realtime gives you production-ready presence, cursors, and shared docs with SDKs.

Engineering Leaders Replacing MAU Pricing

MAU billing penalizes occasional users and causes unpredictable spend.

Realtime bills by concurrent usage bands so costs track real infrastructure load.

Platform Teams Requiring Control

Hosted-only offerings conflict with compliance and deployment standards.

Realtime supports managed cloud and self-hosted paths with the same protocol.

Everything you need for
real-time collaboration

👥

Live Presence

See who's online with custom metadata. Show avatars, names, and status in real-time.

🖱️

Cursor Tracking

Display live cursor positions with smooth interpolation and automatic color coding.

📝

Document Sync

Conflict-free collaborative editing with Yjs CRDTs. Works with any editor.

🔌

Custom Events

Broadcast arbitrary events to room members. Build reactions, notifications, and more.

🔄

Auto Reconnect

Exponential backoff with automatic state recovery. Handle network issues gracefully.

🔒

Secure by Default

JWT authentication, room-level access control, and encrypted connections.

Add collaboration in
under 10 minutes

Our React hooks make it simple to add real-time features to any app. No complex setup, no websocket management, no state synchronization headaches.

  • First-class React support with hooks
  • TypeScript types included
  • Works with Next.js, Remix, Vite
  • Tiny bundle size (~12kb gzipped)
App.tsx
import { RealtimeProvider, useRoom, usePresence, useCursors } from '@realtime-sdk/react';

function App() {
  return (
    <RealtimeProvider
      endpoint="wss://api.realtimesdk.dev"
      authToken={getToken}
    >
      <CollaborativeEditor />
    </RealtimeProvider>
  );
}

function CollaborativeEditor() {
  const room = useRoom('document-123');
  const { others } = usePresence(room);
  const { cursors, updateCursor } = useCursors(room);

  return (
    <div onMouseMove={(e) => updateCursor({ x: e.clientX, y: e.clientY })}>
      {cursors.map(cursor => (
        <Cursor key={cursor.id} {...cursor} />
      ))}
      <PresenceList users={others} />
      <Editor />
    </div>
  );
}

Pricing that makes sense

We bill on peak concurrent connections (P95), not monthly active users. A 5-second visitor doesn't inflate your bill.

ScenarioLiveblocksRealtime SDK
Small Startup
50 daily active, 200 monthly unique
$19/mo
200 MAU over limit
$0/mo
~50 concurrent, within limit
Growing App
200 daily active, 2,000 monthly unique
~$50-80/mo
2,000 MAU
$29/mo
~200 concurrent
Scale
1,000 daily active, 15,000 monthly unique
~$300-500/mo
15,000 MAU
$79/mo
~1,000 concurrent
Viral Spike
Normal 100, spike to 5,000 for 1 day
~$100-200
5,000+ MAU counted
$29/mo
P95 filters spike

* Liveblocks prices based on public pricing. Actual costs may vary.

Ready to add real-time features?

Start with Free, then upgrade through Stripe Checkout in minutes. Keep your pace with commercial-grade support when you scale.