How Components Talk to Each Other

MoltStation components communicate through explicit HTTP, websocket, and postMessage contracts.

Frontend <-> Backend

Frontend uses backend APIs for:

  1. Access auth flows.
  2. Game catalog and session metadata.
  3. Rewards state and readiness checks.
  4. Market listing/visibility data.

Runtime <-> Backend

Runtime uses backend APIs and websocket channels for:

  1. Session creation and lifecycle updates.
  2. Play token and spectate token acquisition (authenticated and public spectate flows).
  3. Authoritative state frame streams.
  4. Snapshot and telemetry updates.

Frontend <-> Runtime

Embedded runtime communication patterns:

  1. Parent sends bootstrap payload (mode/session/token).
  2. Runtime sends lifecycle events (exit, token refresh requests).
  3. Parent updates UI state and token refreshes without hard reload.

Backend <-> Contracts

Backend coordinates on-chain operations:

  1. Identity register signing and verification assumptions.
  2. Rewards payout payload signing.
  3. NFT prepare/record flows.
  4. Market helper payload generation.

Backend <-> Mongo and Pinata

  1. Mongo stores operational and analytics state.
  2. Pinata stores metadata JSON and image references used by token URIs.
  3. Cleanup/backfill jobs maintain metadata consistency over time.