The real-time layer
for the app you're building
Video, voice, chat and live streaming as an API. Your backend mints a token, your app joins a room, and Livqeno runs the signaling, media servers and TURN underneath.
No card required · Works with the auth you already have
SDKs and APIs for the platforms your team already ships on
Next.jsApp Router
Rooms
Who is in every room, live- ana
- kofi
- mei
- ravi
What teams build on Livqeno
Three products, one identity model. Most apps end up using two of them together.
- Telehealth
Video visits that survive a hospital Wi-Fi handoff
One-to-one rooms with reconnection built in, plus a chat thread that keeps the visit notes after the call ends.
RTC + Chat
Building one of these? Start from a runnable example →
From API key to a live room in three steps
No media servers to deploy, no TURN to configure. One route on your backend, one component in your app.
import { Livqeno } from '@livqeno/server';
const livqeno = new Livqeno({
apiKey: process.env.LIVQENO_API_KEY!,
baseUrl: process.env.LIVQENO_API_URL!,
});
app.post('/join-room', async (req, res) => {
const room = await livqeno.rooms.create({
name: 'standup',
getOrCreate: true,
});
const grant = await livqeno.tokens.create({
room: room.id,
identity: req.user.id, // from your session
permissions: { join: true, publish: true, subscribe: true },
});
res.json(grant);
});'use client';
import { LivqenoRoom, useRemoteParticipants, ParticipantView } from '@livqeno/react';
export function Call({ grant }) {
return (
<LivqenoRoom
token={grant.token}
endpoint={grant.endpoint}
iceServers={grant.iceServers}
telemetryUrl={grant.telemetryUrl}
room={grant.roomName}
>
<Grid />
</LivqenoRoom>
);
}
function Grid() {
const people = useRemoteParticipants();
return people.map((p) => (
<ParticipantView key={p.identity} participant={p} />
));
}One protocol. Every platform you ship on.
Five server SDKs mint grants, four client SDKs spend them. They all speak the same wire protocol, so a Flutter phone, a React tab and a Go, Java or PHP backend share one room.
npm install @livqeno/server @livqeno/reactimport { livqeno } from '@/lib/livqeno'; export async function POST() { const user = await getCurrentUser(); // your auth const room = await livqeno.rooms.create({ name: 'standup', getOrCreate: true, }); const grant = await livqeno.tokens.create({ room: room.id, identity: user.id, permissions: { join: true, publish: true, subscribe: true }, }); return Response.json(grant);}Everything real-time, behind one token model
RTC, Chat and Live Streaming share projects, environments, identities and webhooks. Use one, or all three together.
Chat that keeps its order
Durable conversations with members, history, presence, typing, reactions and read receipts — ordered per conversation.
Chat docsmei New mocks are up in the thread
ravi Looks great — shipping Thursday+2
ana is typing…
Live streams with a stage and an audience
Hosts and co-hosts publish, viewers join on their own tokens, and a chat conversation is attached to every stream.
Live Streaming docsWebhooks your backend can trust
Signed deliveries for messages, reactions, rooms, participants and the live-stream lifecycle, retried until they land.
Webhooks docs- message.created 200
- live_stream.ended 200
- participant.left 200
- Swalvo-Signature: t=1790…,v1=9c4e…
Environments that never cross
Development, staging and production are isolated all the way down: keys, rooms, conversations and webhooks.
Environments docsA control plane your whole team can run
Projects, environments, keys, members and an audit trail come with every account, not as an enterprise add-on.
One server key, any number of short-lived grants
Each environment gets its own API keys. Rotate or revoke one without touching the others, and see when each key was last used.
- Full key shown once, then only its id
- Rotate in the console, revoke from the CLI too
- Idempotent token minting
- Backend · productionrvk_Tug…used 2m ago active
- CI · stagingrvk_9xQ…used 1h ago active
- Old backendrvk_A02…revoked revoked
Fits the stack you already have
Livqeno is infrastructure, not an app you embed. You keep your auth, your UI and your data model.
Your backend keeps the key
TypeScript, Python, Go, Java and PHP server SDKs mint grants for users you already authenticated. Livqeno never sees your passwords or sessions.
Server SDKsAny frontend, any platform
Next.js, React, React Native and Flutter clients take the same grant and speak the same wire protocol.
Client SDKsStandard WebRTC underneath
ICE, DTLS-SRTP and RTP/RTCP with simulcast, plus TURN relays handed out per token for strict networks.
How RTC worksStart free, pay for the minutes you use
No card to start. On a paid plan the free amounts are included every month, and usage past them is billed per 1,000 minutes or messages.
Free
Free
One-time allowances to build and test with. No card needed.
- 10,000 RTC minutes
- 100 live host-hours
- 100K chat messages
- 1 live stream at a time, 100 viewers per stream, 4 hours per stream
- Up to 3 active projects
Pay as you go
No fee
The free amounts are included every month. Usage past them is billed.
- Free amounts included every month
- Usage billed per 1,000 units
- Free-tier live caps lifted
- Optional monthly spend cap
Startup
$49/ month
The monthly fee comes back to you as usage credit.
- Everything in Pay as you go
- Fee returned as usage credit
Growth
$499/ month
The fee comes back as usage credit, plus 15% off all usage.
- Everything in Pay as you go
- Fee returned as usage credit
- 15% off all usage
Enterprise. Pricing set by contract. Get in touch and we will work it out with you.
Contact us- HD video
- $2.49per 1,000 participant minutes
- Audio
- $0.79per 1,000 participant minutes
- Live viewers
- $0.99per 1,000 viewer minutes
- Chat
- $0.10per 1,000 messages
Prices in USD, excluding taxes. INR prices and every usage rate are on the pricing page.
Built for teams shipping real-time
Create a project, mint your first token and have two people in a room before lunch.