Skip to main content

Architecture

Overview

Provisioning Flow

  1. Auth check — Session required; admins bypass subscription gate
  2. Subscription check — Active Stripe subscription or trial required
  3. Workload gate — Acquire deployment slot (prevents thundering herd)
  4. Job enqueue — POST to backend /api/platform-jobs/provision
  5. Railway create — Backend creates Railway service with plan resources
  6. Env injection — OpenClaw config, gateway tokens, DB URL injected
  7. Health poll — Wait for container to report healthy on port 18789
  8. Prisma update — Agent record created with serviceId and URL

Plan Resources

The Solo tier (1 vCPU / 2 GB) is sufficient to boot and run light workloads but is not recommended for production. For serious production use, start with Collective (2 vCPU / 4 GB) or higher.

Security Model

  • Bearer token authtimingSafeEqual on all backend routes, fail-closed
  • SHA-256 hashed API keys — Raw keys never stored or logged
  • SSRF blocklist — IPv4 private, IPv6 ULA, mapped IPv4, CGN ranges blocked
  • Permission gates — Safe / Dangerous / Destructive tiers with human approval
  • BotID protection — Anti-bot on registration
  • AES-256-GCM — Per-user secret encryption
  • spawn() not exec() — No shell injection vectors
  • Ed25519 — Discord webhook signature verification

Tech Stack