Skip to content
The self-hosted CPaaS

Video, voice & chat, that you actually own. 

The self-hosted alternative to traditional CPaaS providers. One SDK for calls, chat, live streaming and recording — running on your own cloud, at roughly half the price.

10,000 free minutes / month · no credit card · deploy in a day

Live music stream with real-time chat on a phone
Socrits one-to-one video call with contacts list

Powering real-time in

Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
Fintech support
Creator streaming
Gaming voice
Contact centers
EdTech classrooms
Telehealth
Dating apps
Marketplaces
Live commerce
Social & community
<0 ms

Median glass-to-glass latency

0.00%

Signalling uptime target

0

Participants per room

0%

Runs on cloud you own

The platform

Every real-time primitive,learned once.

Calls, ringing, chat, streaming and recording — designed to work together and learned once. Mix what you need; ignore the rest.

Voice & Video

1:1 and group calls up to broadcast scale.

WebRTC SFU built on LiveKit, tuned for mobile networks. Adaptive simulcast, dynacast and hardware acceleration keep calls crisp on a 3G handset and a gigabit laptop alike.

Call Invitations

Ring real phones — even when the app is closed.

A full signalling layer over WebSockets with push-triggered ringing through FCM and Apple CallKit. Invitations, accept/reject, timeouts and busy states are handled for you.

Prebuilt Call UI

Drop in a full call screen in an afternoon.

Batteries-included call views for Flutter and Web — grid & spotlight layouts, PiP, mic/camera/speaker controls, mirroring, and hang-up wired to the SDK. Theme it or fork it.

Persistent Chat

1:1 and group messaging with history.

Realtime messaging with delivery, unread counts, typing indicators, read receipts and paginated history — sharing the same connection as your calls, so there's one socket to manage.

Live Streaming

Go from a call to a stadium-scale broadcast.

Promote any room to an RTMP/HLS broadcast for audiences of thousands. Ingest from OBS or a phone, egress to HLS, and pull viewers in at a fraction of streaming-CDN cost.

Recording

Compliant recordings, straight to your bucket.

Server-side composite or track recording via egress, written directly to S3-compatible storage you control. Nothing leaves your account — ideal for regulated telehealth and fintech.

Developer experience

From npm installto a ringing phone in minutes.

An API small enough to hold in your head. The same calls work in Flutter, Web and React Native — no rewrites between platforms.

Connect1

Open one socket for calls and chat. Your backend mints the token — the client never sees your API key.

app.jscall.jschat.jsserver.js
app.js
1import { Socrits } from '@socrits/client'23const sc = new Socrits('https://cloud.yourco.com')45// your backend mints the token from an API key6await sc.connect({7  sessionEndpoint: '/api/sc-session',8  userId: 'alice',9})1011sc.onIncomingCall = (call) => ring(call) // show your UI
Own the stack

A control plane,not just a connection.

The pieces a real product needs around media — tenancy, keys, metering, residency — are built in. The same panel we run in production ships with the platform.

Multi-tenant control plane

Projects, API keys, per-tenant quotas and rotation — the same panel we run in production.

Usage metering & billing

Every participant-minute metered at the edge, with exportable usage for your own invoicing.

Data residency by default

Media and recordings stay in the region and account you deploy to. No third-party hop.

Token-based auth

Your backend mints short-lived session tokens with an API key. Users never see a secret.

SDKs that match

One identical API across Flutter, Web and React Native. Learn it once, ship everywhere.

Deploy in a day

Docker Compose to a single VM, or Kubernetes for scale. You hold the keys the whole way.

Deploy in a day, not a quarter

One Docker Compose file brings up the SFU, signalling and control plane on a VM you own. Point a subdomain at it and you're taking real calls — with every byte of media staying inside your account.

The honest comparison

Everything the big vendors do,on infrastructure you own.

Same features. Better data control. A fraction of the per-minute cost. Here's the side-by-side.

CapabilitySocritsSocritsHosted CPaaSLegacy CPaaS
Where media runsYour own cloudTheir cloudTheir cloud
Video / voice calls
Offline ringing (CallKit/FCM)Add-on
In-app chat includedSeparate SKUSeparate SKU
Live streaming
Recording to your bucketTheir storageTheir storage
Data residency controlFullLimitedLimited
Source-available core
Per participant-minute$0.0009~$0.0040~$0.0040
Free tier / month10,000 min10,000 min10,000 min

Competitor pricing is public list price for HD video, rounded, for comparison only. Your mileage varies with codecs and region.

How it works

From zero to a connected callin four steps.

No black boxes. You can trace a call from your backend token all the way to media flowing through your own SFU.

  1. Step 01

    Deploy the stack

    One Docker Compose file brings up the SFU, signalling and control plane on a VM you own. Point a subdomain at it and you're live.

  2. Step 02

    Mint a session token

    Your backend calls /v1/session with an API key and gets back a short-lived user token. Secrets never touch the client.

  3. Step 03

    Connect & ring

    The SDK opens one socket for calls and chat. invite() rings the other user — on a real, locked phone if they're offline.

  4. Step 04

    Media flows peer-to-SFU

    Accepted calls join a LiveKit room. Tracks are simulcast to the SFU and fanned out, adapting to each viewer's bandwidth.

Proof, not promises

Teams that swapped their vendorfor their own stack.

Real products running calls, chat and offline ringing on Socrits today.

01 / 03
01
We swapped hosted CPaaS for Socrits in a weekend. Calls ring on locked phones, chat rides the same socket, and our comms bill dropped by an order of magnitude.
DU
Dude
Dating app · live on Socrits
02
Recordings write straight to our own bucket, so compliance stopped being a blocker. The self-hosted deploy took an afternoon.
TH
Telehealth pilot
Founding engineer
03
One API across Flutter and Web meant our mobile and web teams shipped calling the same week. That never happens.
MP
Marketplace app
Head of Engineering

Your comms. Your cloud.Your call.

SocritsGet started

Start free with 10,000 participant-minutes every month. Move to your own infrastructure whenever you're ready — the SDKs never change.