Bitskiff documentation
Bitskiff connects a host to its clients, with data both ways in real time.
- Quickstart, a whole host page in four steps
- Console, where the key comes from
- Downloads, every package as a tarball
- llms.txt, the docs for an agent to read
- Run a host anywhere. Any program with the host SDK is a host: a browser tab, a Node process, a signage player. Everything an SDK does is one call in the REST API.
- Hand out a join code. A client scans it and joins on the hosted client page or your own, and its place survives a reload, a locked device and a change of network.
- Watch it, and get told. The console shows every session a project has open; webhooks tell your backend when a limit is close or crossed.
- Know why it ended. A session that ends says why.
Get started
The first session, start to finish, and the packages behind it.
- QuickstartOpen a session from a browser page and read the first press from a client, in four steps.
- DownloadsEvery package as a tarball, for installing without a registry.
- Server benchmarkWhat the data path from this device carries, direct and through TURN, with no session in it.
Build
What a session carries, and the shapes a host and a client page can take.
- ChannelsA channel is a name you choose.
- Client pagesA new project's join code opens the sample client page, so your first host needs no client code at all.
- Controller inputSend a game controller's state as bytes on a lossy channel.
- Node hostsRun a host as a program instead of a page.
- Server hostsRun the host on your own server, and let the host's display only draw what the server sends it.
- No build stepRun the host or client SDK in a browser with no build step.
- TransportsTurn on peer for lower latency.
Examples
A whole host and its client page, each one built around something the SDK leaves to you.
- Cat and mouseTwo clients join, each picks a role and confirms, and the game starts once both have confirmed different roles.
- A queue and four slotsA venue host with four playing slots and any number of clients waiting.
- A poll with a revealA presenter's host shows one question at a time, any number of clients answer from their devices, and the host reveals the tally when it chooses.
Operate
Hosts in the field: what a session does over time, what tells you it is healthy, and what it may use.
- Session lifecycleA session moves through five phases, and only one of them is an end.
- Limits and capacityEvery number a project runs into, what it refuses, and what clears it.
- WebhooksA project's webhook is one signed HTTP request per event, so your backend learns a quota is close or crossed without polling for it.
- Usage-based billingBill your own customers on what their sessions used, from the usage records Bitskiff keeps.
- Unattended hostsA host with nobody standing at it -- signage in a lobby, a bot, a dedicated game host -- has one job: keep a session open.
- CredentialsA credential is how a request proves it may act on your project.
- One session per userLet each of your users run one session at a time, with a way to end the one that is stuck.
- ConsoleThe console is where you create a project, mint the keys a host signs in with, and watch the sessions that project has open.
Reference
Every package you install, and the API under them.
- @bitskiff/hostThe Bitskiff host SDK for a browser page or an Electron renderer.
- @bitskiff/host-nodeThe Bitskiff host SDK for a headless Node 22 process.
- @bitskiff/clientThe Bitskiff client SDK for a browser page.
- @bitskiff/ui-kitFramework-free UI elements for a Bitskiff client page.
- @bitskiff/cliThe Bitskiff command-line tool for managing a project.
- REST APIEvery endpoint the service answers, what may call it, and every error code.
- ChangelogEvery release, newest first: what was added, changed, deprecated, removed and fixed.