Railway is a hosting vendor that runs containers from a Git repository and bills the resources they use by the second. There is a small plan fee and a matching usage credit, then metered CPU, memory, disk and egress on top. It deploys on push, waits for your CI to go green first, and pauses the whole workspace when payment fails. Each of those behaviours bit us in a different month.
What Railway actually bills you for
The Railway pricing page lists four self-serve plans: a Trial with a one-time $5 credit for 30 days, Free with $1 of usage a month, Hobby at $5 a month with $5 of credit, and Pro at $20 a month with $20 of credit. Usage past the credit is billed at the metered rates.
Those rates are quoted per second. CPU is $0.00000772 per vCPU-second, which the page rounds to about $20 per vCPU per month, and memory is $0.00000386 per GB-second, about $10 per GB per month. Volume storage is about $0.15 per GB-month and egress is $0.05 per GB. A single always-on service with 1 vCPU and 1 GB therefore costs around $30 a month before the plan fee.
The trial has a cliff. When it ends, the pricing page says the remaining credit carries over only if you upgrade to a paid plan; otherwise access ends. Railway also offers what most vendors do not. Its usage limits let you set a soft limit that emails you and a hard limit that acts: “Once your resource usage hits the specified hard limit, all your workloads will be taken offline to prevent them from incurring further resource usage.” Notifications arrive at 75%, 90% and 100% on the way there.
What happened to us
Our workspace holds six projects: a CRM backend, a front-desk product, a client storefront, an outbound dialer, an app backend and a medical-office tool. In October 2026 Railway reported the trial over, an unpaid invoice, a card number it called incorrect, and every deployment paused. The old containers kept running, which is the generous part. Nothing new could ship, which is the part that mattered.
The deeper surprise was older. The CRM's continuous integration had been red on lint errors since September 23, and Railway waits for CI before it deploys. So the merged fix for our database churn, the one worth about $50 a month, sat on the main branch while production ran code from two weeks earlier. No dashboard said “you think you deployed this, you did not.” Mepa8's connector now reports the last deploy date and status per project, and the hours the main branch is ahead of production. On October 8 it read:
“Railway crm-block-theory-backend: no deployment for main since 2026-10-08 (321 h behind)”Mepa8 alert, 2026-10-08
Our estimated Railway cost is $20 a month against a $40 budget. The money was never the Railway problem. The problem was a paused platform gating a fix on a different vendor's bill, and a trial workspace hosting production for paying customers.
How Mepa8 watches Railway
Railway is a full-connector vendor. The connector reads each project's latest deployment, its status and date, and compares it with the newest commit on the branch Railway is meant to deploy. A skipped or failed deploy is a warning. Main more than a few hours ahead of production is a warning, and the alert carries the hours and the likely cause: a paused workspace, a red CI run, or a plan problem. Payment trouble reported by the platform is critical, because it means nothing can ship until a person fixes a card.
The kill here is mostly Railway's own hard limit, which Mepa8 asks you to set and then checks exists. For an emergency, removing a service or revoking the deploy token is the soft kill, and the card states the blast radius: every service in the project goes dark, including the containers that were still serving. Propose, confirm with a single-use token, restore. Never on a single signal.
Set a cap in five minutes
- Open Workspace Usage and click Set Usage Limits, or run
railway usage limit setfrom the CLI, as the usage-limits page describes. Set the soft limit at your budget and the hard limit at the number you would rather go offline than pay. - Put production on a paid plan with a backup payment method. The Hobby plan is $5 a month; a card failure on a trial paused six of our projects.
- Create a Railway API token with read access for Mepa8, stored under its env name only, so the deploy watcher can run without the ability to change anything.
- Make red CI block merges. A branch that cannot merge cannot sit undeployed for two weeks while everyone assumes it shipped.
- Set the Mepa8 budget to plan fee plus expected usage, and let the undeployed-hours alert be the one you act on first.
Questions people ask
Does Railway have a hard spend cap?
Yes. The usage-limits page describes a soft limit that emails you and a hard limit that takes all workloads offline, with notifications at 75%, 90% and 100%. To come back, you raise or remove the limit yourself.
What happens to running services when a trial or card fails?
In our October 2026 case the existing containers kept serving while every new deployment was paused and the workspace showed an unpaid invoice. The pricing page adds that trial credit carries over only if you upgrade.
Why does Mepa8 watch deploys on a cost monitor?
Because an undeployed fix is a cost. Our Neon churn fix was merged as PR 40 on October 8, 2026 and could not ship for 321 hours, which kept a $50-a-month leak open on another vendor's invoice.
Sources
- Railway pricing — plan fees, credits, per-second rates, trial terms
- Railway docs: usage limits — soft and hard limits, what happens at the hard limit
- Mepa8 incident: the paused platform — our own workspace, October 2026
Change log: October 9, 2026 — First published from our own October 2026 accounts.