Platform API overview
The engine-agnostic surface of HELIX — identity, economy, storage, inventory, and social — exposed identically on every runtime.
The Platform API is the part of HELIX that has nothing to do with rendering: identity, economy, storage, inventory and social. The Web SDK defines it, and the Unreal plugin mirrors the same method names from a generated contract table. Not every method is available on Unreal yet; the feature matrix lists the gaps. These pages describe the semantics: what each capability does, what the server guarantees, and what the error cases are.
How to read these pages
Each Platform API page is language-neutral. Code samples use the runtime tabs you've seen — pick your runtime once and it sticks. The Web (TS) signature is canonical; other runtimes mirror it.
The surface
Authentication & Identity
One account across every world. Launch tickets, sessions, guests, profiles.
LIX & Economy
The wallet, purchases, the marketplace, and in-world purchases.
Data Store
Durable, authoritative per-world key–value storage.
Memory Store
Volatile, low-latency, TTL'd state shared across instances.
Inventory & Items
Universal items and the four-tier execution model.
Social & Presence
Friends, presence, and invites.
Analytics
The event contract, vendor split, privacy boundary, and rollout plan.
The Helix namespace
On the Web runtime the platform is reached through a single Helix object. These members ship in
@hypersoniclabs/helix-sdk today:
Helix.auth Helix.avatar Helix.emotes Helix.locomotion Helix.world
Helix.multiplayer Helix.voice Helix.party Helix.matchmaking Helix.listen
Helix.wallet Helix.inventory Helix.marketplace Helix.purchases
Helix.dataStore Helix.leaderboard Helix.achievements Helix.analytics
Helix.presence Helix.notify Helix.prompts Helix.device Helix.camera
Helix.materials Helix.customizer Helix.trial Helix.debugplus the top-level Helix.init(), Helix.getSessionToken(), Helix.hasLeft() and Helix.onLeave().
The exact signatures are in the generated Web SDK API reference.
The contract also specifies Helix.memoryStore, Helix.social, Helix.chat, Helix.moderation,
Helix.ui and Helix.assets. Those are not shipped yet; their pages are marked as planned.
Initialize once at startup. init() takes no arguments, because the shell supplies the session:
const { embedded, world, user } = await Helix.init();
// also on the result: runtimeFidelity, customizerSubject, customizerSourceTwo rules that run through everything
1. The server owns value
Anything affecting inventory, currency, or ownership is server-authoritative. Clients are trusted only for visuals and local gameplay. See the Universal Item Contract.
2. Storage has two tiers
Data Store is durable and authoritative, the source of truth. Memory Store (planned) is volatile, fast, and always requires a TTL, never the source of truth. Don't reach for one when you mean the other.