End-to-end shape
lx_session cookie after a SIWE sign-in) and machine integrations
(lxxn_* API keys via Authorization: Bearer). Both land in a
workspace, the unit of multi-tenancy. Authorization splits cleanly:
SpiceDB answers which resources is this principal entitled to,
scopes answer which verbs is this credential allowed to emit. See
Authentication for the full split.
Layers
Storage
What’s a “session”
The thing the marketplace exists to deliver:- A consumer says “give me a live view of
(lat, lng)for up to N seconds.” - An operator (the supplier) accepts the session and starts streaming from that point.
- The platform meters seconds where the stream is healthy and the operator is in-geofence (telemetry-backed).
- On end, the meter is final and a settlement payload is composed.
- A relayer submits the on-chain settlement: consumer wallet → operator wallet (less platform fee).
What’s NOT in the platform
Knowing the non-goals is half the architecture.
- Custody. Luxxon never holds USDC. Funds move directly between wallets via a thin settlement contract.
- KYC. Wallet addresses are the identity. No identity provider, no legal entity binding.
- Multi-currency. USDC only. Bridge later when volume justifies.
- Mobile SDKs you must use. The contract is WHIP/WHEP + REST. Any WebRTC-capable encoder + any HTTPS client works.
- Fiat on-ramps. Consumers bring USDC. Reference apps may on-ramp on their own behalf; the platform doesn’t.
Where to go next
- Authentication — the wallet-or-key auth model
- Workspaces — the tenancy primitive
- Sessions — the lifecycle in detail
- Conventions — BigInt-as-strings, ZedTokens, basis points