Getting started
LiveCore runs the open-source LiveKit server for you. If your app already uses a LiveKit SDK, this page is the whole migration. If it is new, LiveKit's own quickstart gets you to a working room, and then you come back here for the two values that are ours.
What you need from us
When your tenant is created you receive three things. They are also on the Account page of your portal.
| Value | Looks like | Used by |
|---|---|---|
| Signal host | wss://acme-7k2q.livecore.cloud | Every client SDK, in connect() |
| API key | APIk7FQ2sPx92mQ | Your server, to mint tokens |
| API secret | revealed on the Account page | Your server only. Never ship it in an app. |
1 · Mint a token on your server
Exactly as LiveKit documents it, with our key and secret. The token names the room and the participant and carries the grants you want.
import { AccessToken } from 'livekit-server-sdk'; const at = new AccessToken(process.env.LIVECORE_KEY, process.env.LIVECORE_SECRET, { identity: user.id, ttl: '1h', }); at.addGrant({ room: roomName, roomJoin: true, canPublish: isHost, canSubscribe: true }); const token = await at.toJwt();
2 · Connect the client to your host
One URL. Everything after connect() is unchanged LiveKit behaviour.
final room = Room(); await room.connect('wss://acme-7k2q.livecore.cloud', token); await room.localParticipant?.setCameraEnabled(true);
3 · Watch it count
Open Usage in your portal. Rooms appear under "Right now" the moment someone joins, and the day's participant minutes and data out are final 12 hours after the day ends (UTC). That is also exactly what the month's invoice is made of; page 5 explains the two meters.