The Helix Phone
A universal smartphone that travels with every player across worlds — with built-in apps and an app store for third-party developers building on the Helix Phone SDK.
Every Helix player carries a phone. It isn't part of any one world — it travels with the player everywhere, the same way your real phone follows you from place to place. It has a home screen, a set of built-in apps (messages, camera, wallet, a photo feed, and more), and an app store where third-party developers publish their own apps built on the Helix Phone SDK.
The one-sentence model
The Helix Phone is a tiny operating system that lives on top of the Helix platform. Apps are sandboxed web bundles; the Phone SDK is how they reach the player's identity, wallet, media, contacts, notifications, and the world they're currently in — always gated by permissions.
Why a phone?
A world is a place. A phone is personal and portable. Putting social, payments, messaging, and capture behind a familiar phone metaphor means:
- Players get one consistent place for their messages, photos, wallet, and friends — no matter which world they're in.
- Developers get a ready-made distribution surface (the app store) and a high-level SDK, instead of rebuilding identity, payments, and media for every world.
How it fits together
The phone OS: home screen, app switcher, notifications, permissions, and the runtime that hosts apps.
Built-in (first-party) apps and third-party apps from the store. Each is a web bundle described by a manifest.
One object — createHelixPhoneSdk() — exposing notifications, media, wallet, contacts, messages, storage, and more.
A taste of the SDK
Every app boots the SDK with its own appId, then calls high-level namespaces. Reading the player
and posting a notification is just:
import { createHelixPhoneSdk } from "@helix/phone-sdk";
const phone = createHelixPhoneSdk({ appId: "studio.example" });
const me = await phone.account.getCurrentUser();
await phone.notifications.push({
title: "Welcome",
body: `Hi ${me?.displayName ?? "there"} 👋`,
});That call only works if the app declared notifications.push in its manifest and the player
granted it — see Permissions & consent.
Start here
Apps & the manifest
What an app is, the manifest, and the built-in apps.
Runtime & the bridge
How apps run — sandboxed iframes, the postMessage bridge, lifecycle.
Permissions & consent
The 12 scopes and how players grant them.
SDK reference
Every namespace and method, comprehensively.
Build an app
A complete example app using media, camera, notifications, storage, and more.
Publish to the app store
Registration, review, install, and in-app purchases.
Status: SDK v0.1.0
The Phone SDK is shipping. A handful of capabilities are wired end-to-end against mocked backends today (camera capture, voice calls, IAP settlement, live world presence) — these are flagged inline and tracked on the Proposed & in-progress page. Everything else (messages, contacts, notifications, media/album, app storage, permissions, social feeds) is real.