curl
alone. Official SDKs wrap that surface with typed signatures,
idiomatic helpers, and the same auth + error model in every
language.
Available today
@luxxon/sdk (TypeScript / JavaScript)
Pure-fetch HTTP client. ESM + types, no native dependencies,
works in Node ≥18 and modern browsers. Tracks the full public REST
surface (11 resources, ~32 methods) — anything you can do with
curl you can do here in one typed call.
Resources
| Resource | Methods |
|---|---|
lx.auth | challenge / login / selectWorkspace / logout |
lx.me | get |
lx.config | get |
lx.health | get |
lx.coverage | list |
lx.demand | heatmap |
lx.pricing | quote |
lx.workspaces | challenge / create / list / get / update / setAvailability / heartbeat / createApiKey / revokeApiKey |
lx.sessions | create / list / get / dispatch / accept / start / end / cancel / cancelAllAssignments / frame / viewerToken / producerToken / waitFor |
lx.wallet | get / events |
lx.settlements | get |
lx.requestLiveView({ lat, lng, maxDurationSeconds })— orchestratescreate + dispatch + waitFor(LIVE) + viewerTokenin one call.
Auth
API key (server-side), wallet-session cookie (browser), or a pre-formatted bearer header:Errors
Errors are typed with a stablecode:
@luxxon/mcp (MCP server)
Built on @luxxon/sdk. Exposes 12 agent-callable tools including
request_live_view as the headline. See the
MCP page for setup.
On deck
Generated from the same OpenAPI spec the TS SDK targets; ergonomics will mirror the patterns above.- Python —
pip install luxxon. Pydantic models, async support viahttpx. Lands when there’s a real agent stack asking for it (most Python agent code today uses an HTTP client +httpxdirectly anyway). - Go —
github.com/luxxon-dev/luxxon-go(placeholder). Standardnet/http, no third-party deps. - CLI —
npx @luxxon/clithin wrapper over the TS SDK. Useful for incident response + scripting. - Swift / Kotlin — for native operator-side apps. Ships once there’s a real iOS/Android producer story (today, browser WHIP is the only client).
How the SDK avoids wallet popups
The pool-model settlement onLuxxonSettlement v3 means the SDK
never asks for a per-call signature. The one-time approve +
deposit to fund the pool is a normal viem / ethers / Smart Wallet
flow done outside the SDK (in the console
or via your own wagmi setup); after that, every sessions.create
sessions.endcharges the pool transparently. Fleet deployments where the agent doesn’t hold a key just point the agent’s API key at a workspace whose pool the operator pre-funded.
Source
github.com/luxxon-dev/luxxon-sdk— TypeScript SDK + MCP server source, MIT licensed- Issues + feature requests via the repo