Glossary

Pool node

A shared-tenant OpenClaw host. Each pool node runs ~50 user agents inside one Railway container, with per-user process isolation, port-stride routing, and an idle timeout that suspends idle agents.

A pool node is a single Railway container that hosts roughly 50 ShipClaw users. Each user gets their own OpenClaw process spawned on demand inside the container, with a dedicated set of ports (gateway, Anthropic proxy, browser, Chrome relay, webhook — a port stride of 5 per user).

Why pool nodes exist: running one Railway service per user hits a 50-volume-per-project ceiling almost immediately, and the per-service cold-start tax was wasting money on idle agents. Pool nodes amortize the container baseline across many users while keeping per-user processes isolated.

Key properties:

  • Atomic assignment. New signups get placed via FOR UPDATE SKIP LOCKED so a burst of 200 signups doesn't double-book a slot.
  • Idle timeout. Agents idle for 15 minutes (1 hour for Telegram-connected agents) get suspended; the next request respawns them in under a second.
  • Memory watchdog. A runaway process gets killed at 1.5 GB.
  • Multi-project sharding. Four Railway projects share the load to clear the 50-volumes-per-project limit.