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 LOCKEDso 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.