Railway does not sell you a server size. It charges a monthly minimum — $5 on Hobby, $20 on Pro — and then bills the CPU and memory your services actually use, by the second. That is why the pricing page is easy to read and the invoice is hard to predict: the number depends on how much memory your processes hold around the clock, not on a plan you picked.
This page works through the arithmetic for the stack most people actually run: a web app, a background worker and Postgres. Prices were checked against railway.com/pricing and Railway's billing docs on 1 October 2026.
Railway pricing at a glance
| Plan | Monthly fee | Included usage | Limits that matter |
|---|---|---|---|
| Free | $0 (30-day trial with $5 of credits, then $1/month) | $5 one-off during trial | 1 vCPU / 0.5 GB RAM per service, 0.5 GB volume, 1 project after the trial |
| Hobby | $5 minimum | $5 | Up to 48 vCPU / 48 GB RAM per service, 5 GB volume storage, single-developer workspace |
| Pro | $20 minimum | $20 | Up to 1,000 vCPU / 1 TB RAM per service, unlimited seats, 1 TB volumes |
| Enterprise | Custom | Custom | SSO, audit logs, HIPAA BAAs, dedicated VMs |
The included usage is not a bonus on top of the fee — it is the fee. If your services use $3 in a month on Hobby, you pay $5. If they use $7, you pay $7: the $5 subscription plus $2 of usage. In other words, the bill is whichever is larger, $5 or your usage.
What each resource costs
| Resource | Railway price | Per month, running all the time |
|---|---|---|
| CPU | $0.00000772 per vCPU-second | ≈ $20 per vCPU |
| Memory | $0.00000386 per GB-second | ≈ $10 per GB |
| Volume storage | $0.00000006 per GB-second | ≈ $0.15 per GB |
| Network egress | $0.05 per GB | — |
| Object storage (buckets) | $0.015 per GB-month | egress from buckets is free |
CPU is billed on use, so an app that idles at 2% of a core costs cents for CPU. Memory is different: a process holds its memory whether or not anyone is using it. A Rails or Django web process sitting at 300 MB all month is $3 by itself, before a single request. For small always-on stacks, memory is usually the largest line on a Railway invoice, and it is the first thing to look at in the Metrics tab when the bill surprises you.
What a web app, a worker and Postgres cost on Railway
Below are three usage profiles for the same three services. They are illustrations, not measurements of your app: the point is to show which line grows. To get your own number, take the average CPU and memory of each service from Railway's Metrics tab and plug them into the formula after the table.
| Quiet side project | Small production app | Growing app | |
|---|---|---|---|
| Average CPU (web + worker + Postgres) | 0.04 vCPU | 0.35 vCPU | 0.90 vCPU |
| Average memory (all three) | 0.70 GB | 1.50 GB | 2.50 GB |
| Postgres volume | 1 GB | 5 GB | 15 GB |
| Egress | 5 GB | 30 GB | 100 GB |
| CPU | $0.80 | $7.00 | $18.00 |
| Memory | $7.00 | $15.00 | $25.00 |
| Volume | $0.15 | $0.75 | $2.25 |
| Egress | $0.25 | $1.50 | $5.00 |
| Usage | $8.20 | $24.25 | $50.25 |
| Bill on Hobby | $8.20 | $24.25 | $50.25 |
| Bill on Pro (teams) | $20.00 | $24.25 | $50.25 |
The formula: usage = vCPU × $20 + GB of RAM × $10 + GB of volume × $0.15 + GB of egress × $0.05, using monthly averages. Your bill is max($5, usage) on Hobby and max($20, usage) on Pro.
Two things stand out. In every profile memory costs more than CPU — in the small production app it is $15.00 of $24.25. And the step from Hobby to Pro matters more than the usage for small apps: Hobby is a single-developer workspace, so the moment a second person needs access to the project, the quiet side project goes from $8.20 to $20 a month.
Does Serverless make it cheaper?
Railway's Serverless setting (formerly App Sleeping) stops a service that has sent no outbound traffic for roughly 5–10 minutes and wakes it on the next request. While it sleeps, it uses no CPU or memory, so a demo or an internal tool that is idle most of the day can cost a fraction of the numbers above. The first request after a sleep waits for a cold start.
It helps the web service far more than the rest of the stack. A queue worker polls its broker every few seconds by design, so it is never quiet for ten minutes, and you do not want your database falling asleep. For the stack on this page, expect Serverless to trim the web service's share and leave the worker and Postgres where they are.
What about Railway Postgres?
Postgres on Railway is a template: a Postgres container running as a service in your project, on a volume. It is billed exactly like any other service — CPU, memory and volume storage — which is why it appears in the usage table rather than as a separate price. Railway's own documentation describes its database templates as unmanaged: you have full control over configuration and maintenance, and the tuning, upgrades and connection limits are yours to look after. Volume backups can be created and restored from the dashboard.
If your app opens more connections than a small Postgres instance comfortably handles, put a pooler in front of it; we explain why in what connection pools are and how they help PostgreSQL.
When Railway is the cheaper choice
Usage-based billing is genuinely good for some workloads. Railway tends to be the cheapest sensible option when the app is small and spends most of its time idle, when you can let the web service sleep, when traffic is bursty and you would otherwise pay for a server sized for the peak, and when you want a free trial and per-second billing to experiment. It also scales a single service far further on Hobby than most entry plans allow.
It gets expensive in the opposite situation: several always-on processes that each hold a few hundred megabytes, all month, with a team that needs Pro. That is a description of most production web apps with a worker.
The same stack on a fixed-size platform
For comparison, here is the same web + worker + Postgres on Granite, the platform we build. Granite prices resources by size rather than by use: a 1 vCPU / 1 GB service is $5 a month whether it is busy or idle, and the smallest managed Postgres (1 vCPU, 1 GB RAM, 15 GB NVMe) is $8. That is $18 of usage. The Hobby plan is $9 a month and includes $15 of usage credits, so the remaining $3 is covered by extra credits at $1 each and the bill is $12 a month. Outbound traffic is not billed, so that number does not move with bandwidth the way the egress line on Railway does.
| Quiet side project | Small production app | |
|---|---|---|
| Railway Hobby | $8.20 | $24.25 |
| Railway Pro (team) | $20.00 | $24.25 |
| Granite Hobby (unlimited seats) | $12.00 | $12.00 |
Be honest about what that table says. For the quiet side project, Railway Hobby is cheaper — $8.20 against $12 — because you pay Granite for a full core and a gigabyte per service even when they sit idle. The fixed price wins once your three services together hold about a gigabyte of memory around the clock, or once more than one person needs the project: Granite's Hobby plan has unlimited workspace seats. The growing-app profile is left out because it sits at the edge of 1 GB per service; on a fixed-size platform it would move to the next size up.
The Postgres on the Granite side is managed: system backups run automatically and are not billed; only backups you create manually are charged, at $0.05 per GB per month. Full details are on the pricing page and in the PostgreSQL pricing docs. If you are choosing between more platforms than these two, the Fly vs Railway vs Render cost comparison covers the rest.
Railway pricing FAQ
Is Railway free?
Not permanently. New accounts get a 30-day trial with $5 of credits and no credit card required. After that the Free plan costs $1 a month and is limited to 1 vCPU and 0.5 GB of RAM per service. Anything you run continuously belongs on Hobby or Pro.
Does the $5 Hobby fee include usage?
Yes. The $5 is a minimum, and it covers the first $5 of usage. You pay $5 if you use less, and your usage if you use more — not $5 plus your usage.
How much does Railway Postgres cost?
There is no separate price. Postgres runs as a service and costs its CPU, memory and volume storage: a small database idling at 0.2 GB of memory with a 1 GB volume is about $2 a month on its own.
Does Railway charge for bandwidth?
Yes, outbound network egress from services is $0.05 per GB. Egress from Railway's object storage buckets is free.
What does Railway Pro cost?
Pro is a $20 monthly minimum that includes $20 of usage, with the same per-second resource prices as Hobby. You need it as soon as more than one developer works in the same workspace.